diff --git a/ChangeLog b/ChangeLog index fccde052..9926bd31 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2014-11-23 Joerg Wunsch + + bug #43078: AVRDUDE crashes after sucessfully reading/writing eeprom + * jtag3.c (jtag3_edbg_recv_frame): Return correct length as + reported in the response packet, rather than full 512 byte which + are always reported by the CMSIS-DAP layer. Miscalculations + based on the wrongly reported length caused heap corruption + elsewhere, so this is presumably also a fix for bug #43078. + 2014-11-20 Joerg Wunsch bug #41561: AVRDUDE 6.0.1/USBasp doesn't write first bytes of diff --git a/NEWS b/NEWS index ea8cf844..153da680 100644 --- a/NEWS +++ b/NEWS @@ -26,6 +26,7 @@ Current: after changing lock byte - bug #41561: AVRDUDE 6.0.1/USBasp doesn't write first bytes of flash page + - bug #43078: AVRDUDE crashes after sucessfully reading/writing eeprom * Internals: - ... diff --git a/jtag3.c b/jtag3.c index 3cb3c6f1..f0fae0f3 100644 --- a/jtag3.c +++ b/jtag3.c @@ -690,7 +690,7 @@ static int jtag3_edbg_recv_frame(PROGRAMMER * pgm, unsigned char **msg) { *msg = buf; - return rv; + return len; } int jtag3_recv(PROGRAMMER * pgm, unsigned char **msg) {