Fix memory leak in python.c:do_start_initialization
authorPhilipp Rudo <prudo@linux.vnet.ibm.com>
Thu, 23 Mar 2017 11:22:11 +0000 (12:22 +0100)
committerAndreas Arnez <arnez@linux.vnet.ibm.com>
Thu, 23 Mar 2017 11:22:11 +0000 (12:22 +0100)
commit3f2a3564b1c3872e4a380f2484d40ce2495a4835
tree4f70b9c9a397ae95de3a2083f04cc3a95027b1d9
parentad36c6ce7c176a0bade3b3f09b801e65ab5ef93f
Fix memory leak in python.c:do_start_initialization

When intializing Python the path to the python binary is build the
following way

progname = concat (ldirname (python_libdir), SLASH_STRING, "bin",
   SLASH_STRING, "python", (char *) NULL);

This is problematic as both concat and ldirname allocate memory for the
string they return.  Thus the memory allocated by ldirname cannot be
accessed afterwards causing a memory leak.  Fix it by temporarily storing
libdir in a variable and xfree it after concat.

gdb/ChangeLog:
python/python.c (do_start_initialization): Fix memory leak.
gdb/ChangeLog
gdb/python/python.c