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
stefanrueger
012ffa5474
Enforce modify cannot be used in system config file
...
The developer option `-p*/s` is routinely used for canonicalisation of the
system configuration file, as are the options `-p*/si` and `-p*/s` that
are used for programmatically injecting .atdf properties into the
`avrdude.conf` file. These techniques interfere with the `modify`
operation that is only meant for last-resort changes of parts or
programmers in the per-user configuration file.
2026-08-03 02:52:38 +02:00
stefanrueger
23f4caed60
Update NEWS
2026-08-03 01:42:07 +02:00
Stefan Rueger
4f2b9b9f78
Merge pull request #2172 from stefanrueger/config-files
...
Simplify `main.c` and provide library functions
2026-08-03 01:40:52 +02:00
stefanrueger
44df31e442
Harden cfg_infile use
2026-08-01 21:12:04 +02:00
stefanrueger
63c10058bb
Remove unnecessary realpath() in read_config()
2026-08-01 21:06:54 +02:00
stefanrueger
72e7c15d68
Move whereami.c library into libavrdude
2026-08-01 21:02:13 +02:00
stefanrueger
886f65e7d1
Move #include <whereami.h>
2026-08-01 20:59:38 +02:00
stefanrueger
d8e3fab4a7
Fix variable definition in switch statement
2026-08-01 20:56:01 +02:00
stefanrueger
abcd259020
Move variable declaration
2026-08-01 20:09:35 +02:00
stefanrueger
88ba549081
Add const where useful
2026-08-01 19:57:45 +02:00
stefanrueger
28870f45fc
Reinstate info on showing udev rules on permission errors
2026-08-01 19:54:51 +02:00
stefanrueger
223ebcb02c
Rename main static pgm to mpgm
2026-08-01 19:51:33 +02:00
stefanrueger
19fd6f2615
Simplify main flow
2026-08-01 19:11:57 +02:00
stefanrueger
e7b1f42794
Localise rc variable
2026-08-01 18:36:50 +02:00
stefanrueger
194ff8c07f
Utilise str_progname()
2026-08-01 18:22:59 +02:00