svf: off-by-one error; do not access after the allocated memory

Keep the promise and ensure there're at least 3 bytes available after
the current position.

This eliminates the errors reported by Valgrind.

Change-Id: I1d0640e904c750eed808b2b4caf419b4d7619845
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Reviewed-on: http://openocd.zylin.com/1615
Tested-by: jenkins
Reviewed-by: Peter Stuge <peter@stuge.se>
__archive__
Paul Fertser 2013-09-10 15:14:56 +04:00 committed by Spencer Oliver
parent 3377c16420
commit 8b3f0f3f69
1 changed files with 3 additions and 2 deletions

View File

@ -642,8 +642,9 @@ static int svf_read_command_from_file(FILE *fd)
* - added space.
* - terminating NUL ('\0')
*/
if ((cmd_pos + 2) >= svf_command_buffer_size) {
svf_command_buffer = realloc(svf_command_buffer, (cmd_pos + 2));
if (cmd_pos + 3 > svf_command_buffer_size) {
svf_command_buffer = realloc(svf_command_buffer, cmd_pos + 3);
svf_command_buffer_size = cmd_pos + 3;
if (svf_command_buffer == NULL) {
LOG_ERROR("not enough memory");
return ERROR_FAIL;