From: Philippe Waroquiers Date: Tue, 27 Nov 2018 23:22:29 +0000 (+0100) Subject: Fix leak in forward-search X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=95b1f9ac6b7de84b09580bdf2456955bcff86da1;p=binutils-gdb.git Fix leak in forward-search Valgrind reports the below leak. Fix the leak by using xrealloc, even for the first allocation, as buf is static. ==29158== 5,888 bytes in 23 blocks are definitely lost in loss record 3,028 of 3,149 ==29158== at 0x4C2BE2D: malloc (vg_replace_malloc.c:299) ==29158== by 0x41B557: xmalloc (common-utils.c:44) ==29158== by 0x60B7D9: forward_search_command(char const*, int) (source.c:1563) ==29158== by 0x40BA68: cmd_func(cmd_list_element*, char const*, int) (cli-decode.c:1888) ==29158== by 0x665300: execute_command(char const*, int) (top.c:630) ... gdb/ChangeLog 2018-11-29 Philippe Waroquiers * source.c (forward_search_command): Fix leak by using xrealloc even for the first allocation in the loop, as buf is static. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 1ec466d6189..d4749dc778f 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2018-11-29 Philippe Waroquiers + + * source.c (forward_search_command): Fix leak by using + xrealloc even for the first allocation in the loop, as buf + is static. + 2018-11-29 Rajendra SY PR gdb/23093 diff --git a/gdb/source.c b/gdb/source.c index e295fbf49e3..c75351e65f4 100644 --- a/gdb/source.c +++ b/gdb/source.c @@ -1560,7 +1560,7 @@ forward_search_command (const char *regex, int from_tty) int cursize, newsize; cursize = 256; - buf = (char *) xmalloc (cursize); + buf = (char *) xrealloc (buf, cursize); p = buf; c = fgetc (stream.get ());