PR gdb/17210 - fix possible memory leak in read_memory_robust
authorTom Tromey <tom@tromey.com>
Thu, 9 Jun 2016 15:46:53 +0000 (09:46 -0600)
committerTom Tromey <tom@tromey.com>
Wed, 29 Jun 2016 16:03:45 +0000 (10:03 -0600)
commit9d78f827e0da9ab6fda2d6ef2d59cebb805b411f
treed68e95e4e3f51f476d6cd21f9c69609545a168b1
parentb287eca391bbb10e709fb8ba9a56be166ab2ff1d
PR gdb/17210 - fix possible memory leak in read_memory_robust

PR gdb/17210 concerns a possible memory leak in read_memory_robust.
The bug can happen because read_memory_robust allocates memory, does
not install any cleanups, and invokes QUIT.  Similarly, target_read
calls QUIT, so it too can potentially throw.

The fix is to install cleanups to guard the allocated memory.

Built and regtested on x86-64 Fedora 23.  I couldn't think of a way to
test this, so no new test; and of course this means it should have
more careful review.

2016-06-29  Tom Tromey  <tom@tromey.com>

PR gdb/17210:
* target.c (free_memory_read_result_vector): Take a pointer to the
VEC as an argument.
(read_memory_robust): Install a cleanup for "result".
* mi/mi-main.c (mi_cmd_data_read_memory_bytes): Update.
gdb/ChangeLog
gdb/mi/mi-main.c
gdb/target.c