Fix leak in event-top.c history expansion
authorPhilippe Waroquiers <philippe.waroquiers@skynet.be>
Sun, 20 Jan 2019 15:59:00 +0000 (16:59 +0100)
committerPhilippe Waroquiers <philippe.waroquiers@skynet.be>
Mon, 21 Jan 2019 20:19:13 +0000 (21:19 +0100)
commitb6fb1ee51c9a773d2d6044993af6c0fd7499638f
treee5c0bc712d38cc952f20fc6b095fd0f509084804
parentbe6d4f74c77c6f521afc873d226480e001cb99c2
Fix leak in event-top.c history expansion

E.g. in gdb.base/default.exp, valgrind detects leaks such as
==17663== 1,438 bytes in 101 blocks are definitely lost in loss record 2,804 of 2,884
==17663==    at 0x4C2BE6D: malloc (vg_replace_malloc.c:309)
==17663==    by 0x418A17: xmalloc (common-utils.c:44)
==17663==    by 0x4E6F19C: history_expand (histexpand.c:1061)
==17663==    by 0x4B4490: handle_line_of_input(buffer*, char const*, int, char const*) (event-top.c:685)
==17663==    by 0x4B4562: command_line_handler(std::unique_ptr<char, gdb::xfree_deleter<char> >&&) (event-top.c:753)
...

Fix the leak by using an unique_xmalloc_ptr for history_value.

gdb/ChangeLog
2019-01-22  Philippe Waroquiers  <philippe.waroquiers@skynet.be>

* event-top.c (handle_line_of_input): use unique_xmalloc_ptr for
history_value.
gdb/ChangeLog
gdb/event-top.c