From 95b1f9ac6b7de84b09580bdf2456955bcff86da1 Mon Sep 17 00:00:00 2001 From: Philippe Waroquiers Date: Wed, 28 Nov 2018 00:22:29 +0100 Subject: [PATCH] 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. --- gdb/ChangeLog | 6 ++++++ gdb/source.c | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) 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 ()); -- 2.30.2