Commit Graph

5553 Commits

Author SHA1 Message Date
stefanrueger
873caf6879 Update NEWS 2026-08-18 04:59:16 +02:00
stefanrueger
12d1dd7431 Replace with equivalent better readable expression 2026-08-18 04:58:18 +02:00
Stefan Rueger
23e51c4727 Merge pull request #2187 from stefanrueger/sysconfig-not-found
Exit with error on missing sys config file
2026-08-18 04:50:25 +02:00
Stefan Rueger
6e8b94bb9c Merge pull request #2183 from stefanrueger/harden
Harden `jtag3_xyz()` functions and fix buffer overrun
2026-08-18 04:46:24 +02:00
stefanrueger
4deabdca00 Improve error message on missing sys config file 2026-08-17 23:32:55 +02:00
stefanrueger
7dcf95d364 Improve warning on version mismatch 2026-08-17 23:14:07 +02:00
stefanrueger
edeadac996 Fix compiler warning in src/usb_libusb.c 2026-08-17 23:11:34 +02:00
stefanrueger
5ae4a0c4ca Exit with error on missing sys config file 2026-08-17 23:11:13 +02:00
stefanrueger
452e3a4ef0 Update NEWS 2026-08-17 21:47:06 +02:00
Stefan Rueger
ff7fb67dbf Merge pull request #2185 from stefanrueger/build-actions
Exit `test-avrdude` with error on failed but skipped tests
2026-08-17 20:21:20 +02:00
stefanrueger
0fbbe5f5f2 Exit with error on failed but skipped tests 2026-08-17 19:57:43 +02:00
stefanrueger
a83a5e315d Utilise __func__ for pmsg_notice2() messages 2026-08-16 09:35:07 +02:00
stefanrueger
b1230ef4c7 Utilise hardened jtag3_command() 2026-08-16 09:22:48 +02:00
stefanrueger
47d3fbcbd6 Declare rv where needed 2026-08-16 09:09:12 +02:00
stefanrueger
98e71c79c9 Harden jtag3_command() 2026-08-16 08:32:56 +02:00
stefanrueger
dad3337aea Lower-case TPI command description 2026-08-16 08:07:31 +02:00
stefanrueger
bece322a7b Return with error if read byte command was unsuccessful 2026-08-16 08:03:15 +02:00
stefanrueger
7322ca62e2 Utilise hardened jtag3_command_tpi() 2026-08-16 08:00:03 +02:00
stefanrueger
81eccb99fe Harden jtag3_command_tpi() 2026-08-16 07:48:01 +02:00
stefanrueger
e41cd9e830 Add sanity check for resp in jtag3_paged_load() and jtag3_paged_load_tpi() 2026-08-16 07:14:08 +02:00
stefanrueger
ff9cf35e8b Reorder sanity checks in jtag3_paged_load() and jtag3_paged_load_tpi() 2026-08-16 07:08:03 +02:00
stefanrueger
ba6662d226 Declare block_size where needed 2026-08-16 07:03:00 +02:00
stefanrueger
7b7265b542 Use mnemonic variable name 2026-08-16 07:01:34 +02:00
stefanrueger
5d58dc8527 Fix AVR memory buffer overrun 2026-08-15 18:43:12 +02:00
stefanrueger
4aa2c7dda1 Ensure header bytes are present before processing them 2026-08-15 17:41:16 +02:00
stefanrueger
094bdef8a7 Always clear buffers not only when -vvvvv 2026-08-15 02:29:04 +02:00
stefanrueger
f833cea7ba Use __func__ instead of string literal 2026-08-15 01:54:58 +02:00
stefanrueger
4226d78671 Shorten jtag3_paged_write_tpi() 2026-08-15 01:52:41 +02:00
stefanrueger
84428858dd Shorten jtag3_paged_write() 2026-08-15 01:44:02 +02:00
stefanrueger
05c5d46d4d Use mnemonic variable name 2026-08-15 01:40:29 +02:00
stefanrueger
dfcc4054de Zap unused receive buffer
... and ensure any potential pgm->fd.usb.max_xfer change during the
jtag3_edbg_recv_frame() call by any of the used functions won't overrun
the receive buffer.
2026-08-15 01:31:53 +02:00
stefanrueger
3405ed234c Fix potential buffer overrun
There is no guarantee that jtag3_edbg_recv_frame()'s

    rv = serial_recv(&pgm->fd, buf, pgm->fd.usb.max_xfer);

won't overrun the remaining buffer that buf points to as buf sweeps the
initial buffer within the do loop. While checks prevent buf pointing
beyond the initial generous allocation of USBDEV_MAX_XFER_3 bytes, above
call requires there be pgm->fd.usb.max_xfer more space available.

Fingers crossed pgm->fd.usb.max_xfer wont't be changed during the
jtag3_edbg_recv_frame() call by any of the used functions within.
2026-08-15 01:25:21 +02:00
stefanrueger
a2346cece3 Fix pmsg_trace() message 2026-08-15 00:25:52 +02:00
stefanrueger
7f10406663 Shorten jtag3_recv_frame() 2026-08-15 00:22:43 +02:00
stefanrueger
221ca8ef43 Fix buffer length curtailing
Thislen is the payload of the received data, which should not exceed the
buffer length minus 4 bytes header.
2026-08-14 23:48:51 +02:00
stefanrueger
979f0fadfc Harden usbhid_recv() and usbhid_send()
usbhid_send() now returns an error if a different number of bytes were
reported to be written than requested. usbhid_recv() now returns an error
if more bytes were reported to be received than requested (this should
never happen, though).

This commit also improves the error messaging.
2026-08-14 22:55:39 +02:00
stefanrueger
67d8fca0c4 Simplify usbdev_send() and usbdev_recv() 2026-08-14 22:08:36 +02:00
stefanrueger
f4e115b56f Harden jtag_xyz() functions further
One source for errors is the use of a free'd pointer. This commit sets to
NULL free'd pointers that *may* be available to the caller. Improper use
of these free'd pointer should then result in an exception or core dump
that ought to be easier to locate than otherwise.
2026-08-13 20:35:14 +02:00
stefanrueger
ed09d3510d Update NEWS 2026-08-12 20:56:09 +02:00
Stefan Rueger
d61d220d7c Merge pull request #2182 from stefanrueger/usb-set-configuration
Revert commit eb66125
2026-08-12 20:52:06 +02:00
Stefan Rueger
e4fc4609cb Merge pull request #2181 from stefanrueger/usr-config-windows
Harden `str_usrconfig()` and `str_sysconfig()`
2026-08-12 20:51:12 +02:00
stefanrueger
8cde7a2df6 Harden str_usrconfig() and str_sysconfig() 2026-08-12 20:29:00 +02:00
stefanrueger
98e973eb17 Revert commit eb66125
Apparently the reasoning behing commit eb66125 was flawed for certain MSVC
builds, see https://github.com/avrdudes/avrdude/issues/2175
2026-08-12 20:26:06 +02:00
stefanrueger
bf86b97b8f Update NEWS 2026-08-05 08:41:13 +02:00
Stefan Rueger
ac9a7b5785 Merge pull request #2177 from stefanrueger/harden-jtag3
Harden `jtag3_xyx()` functions
2026-08-05 08:37:58 +02:00
stefanrueger
a0bbc7629b Harden jtag3_xyx() functions 2026-08-04 20:41:24 +02:00
stefanrueger
b67e7c587b Update NEWS 2026-08-03 18:40:52 +02:00
Stefan Rueger
4facf49f52 Merge pull request #2174 from stefanrueger/trace_dump
Improve readability of `trace_buffer()`
2026-08-03 18:39:45 +02:00
Stefan Rueger
12f40e07cf Merge pull request #2173 from stefanrueger/modify
Enforce modify cannot be used in system config file
2026-08-03 18:38:27 +02:00
stefanrueger
69f1fcd516 Improve readability of trace_buffer() 2026-08-03 03:22:53 +02:00