Fix leak in print_one_catch_syscall.
authorPhilippe Waroquiers <philippe.waroquiers@skynet.be>
Mon, 31 Dec 2018 17:07:26 +0000 (18:07 +0100)
committerPhilippe Waroquiers <philippe.waroquiers@skynet.be>
Tue, 1 Jan 2019 19:26:18 +0000 (20:26 +0100)
commit5b38f9c16e5b3f5f4b5d7772bfef59b1c97e2d05
treeed9e10767d7c8f308fb1cdd058e4feaf1cfe7236
parent827041555ac443bd57340060f3e034fd7b199dd8
Fix leak in print_one_catch_syscall.

The last text produced was not freed, causing the below leak
(e.g. in gdb.base/catch-syscall.exp):

==24970== 56 bytes in 12 blocks are definitely lost in loss record 626 of 3,289
==24970==    at 0x4C2BE6D: malloc (vg_replace_malloc.c:309)
==24970==    by 0x66B9C3F: __vasprintf_chk (vasprintf_chk.c:80)
==24970==    by 0x405181: vasprintf (stdio2.h:210)
==24970==    by 0x405181: xstrvprintf(char const*, __va_list_tag*) (common-utils.c:122)
==24970==    by 0x40524B: xstrprintf(char const*, ...) (common-utils.c:113)
==24970==    by 0x3B49DB: print_one_catch_syscall(breakpoint*, bp_location**) (break-catch-syscall.c:275)
==24970==    by 0x3C698F: print_one_breakpoint_location(breakpoint*, bp_location*, int, bp_location**, int) (breakpoint.c:6076)
==24970==    by 0x3C75B1: print_one_breakpoint(breakpoint*, bp_location**, int) (breakpoint.c:6373)
==24970==    by 0x3C7D0E: breakpoint_1(char const*, int, int (*)(breakpoint const*)) (breakpoint.c:6571)
==24970==    by 0x3C822C: info_breakpoints_command(char const*, int) (breakpoint.c:6625)

2019-01-01  Philippe Waroquiers  <philippe.waroquiers@skynet.be>

* break-catch-syscall.c (print_one_catch_syscall): xfree
the last text.
gdb/ChangeLog
gdb/break-catch-syscall.c