This is an automated email from Gerrit. Paul Fertser ([email protected]) just uploaded a new patch set to Gerrit, which you can find at http://openocd.zylin.com/2899
-- gerrit commit 79a382f7b8b73e3db3deca6edfc7a2259d6128f6 Author: Paul Fertser <[email protected]> Date: Thu Jul 30 11:55:43 2015 +0300 svf: flush the queue before reallocing memory During reallocation a new memory region might be allocated and the old one freed. If jtag queue is holding a pointer to the old memory, it will segfault during the execution. Avoid this by flushing the queue before a reallocation attempt is made. This should fix ticket #102. Change-Id: I737fc3f1ebf6d76413a475beb8bf20184fe0233f Reported-by: Alex Forencich <[email protected]> Signed-off-by: Paul Fertser <[email protected]> diff --git a/src/svf/svf.c b/src/svf/svf.c index cf0cfae..15198d9 100644 --- a/src/svf/svf.c +++ b/src/svf/svf.c @@ -216,6 +216,7 @@ static int svf_read_command_from_file(FILE *fd); static int svf_check_tdo(void); static int svf_add_check_para(uint8_t enabled, int buffer_offset, int bit_len); static int svf_run_command(struct command_context *cmd_ctx, char *cmd_str); +static int svf_execute_tap(void); static FILE *svf_fd; static char *svf_read_line; @@ -277,6 +278,9 @@ static int svf_realloc_buffers(size_t len) { void *ptr; + if (svf_execute_tap() != ERROR_OK) + return ERROR_FAIL; + ptr = realloc(svf_tdi_buffer, len); if (!ptr) return ERROR_FAIL; -- ------------------------------------------------------------------------------ _______________________________________________ OpenOCD-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/openocd-devel
