binutils-gdb/gdb/python
Tom Tromey 0d0b0ea29a Fix a memory leak in py-param.c
Mark Wielaard pointed out this memory leak to me:

    ==17633== 775 bytes in 1 blocks are definitely lost in loss record 13,346 of 13,967
    ==17633==    at 0x4C2DB6B: malloc (vg_replace_malloc.c:299)
    ==17633==    by 0x6652B7: xmalloc (common-utils.c:45)
    ==17633==    by 0xC4C889: xstrdup (xstrdup.c:34)
    ==17633==    by 0x5A71FD: unicode_to_encoded_string(_object*, char const*) (py-utils.c:81)
    ==17633==    by 0x5A73EB: python_string_to_host_string(_object*) (py-utils.c:158)
    ==17633==    by 0x59CC6C: get_doc_string(_object*, _object*) (py-param.c:334)
    ==17633==    by 0x59D2AA: parmpy_init(_object*, _object*, _object*) (py-param.c:728)

The bug here is that parmpy_init is written as though
add_setshow_generic takes ownership of its doc-string arguments.
However, it does not.  This patch fixes the bug in a straightforward
way and also applies some missing constification to make the problem
more apparent.

Tested on x86-64 Fedora 26.

gdb/ChangeLog
2018-06-20  Tom Tromey  <tom@tromey.com>

	* python/py-param.c (add_setshow_generic): Make parameters const.
	(parmpy_init): Update.
2018-06-20 21:10:10 -06:00
..
lib/gdb Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-all-events.def Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-arch.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-auto-load.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-block.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-bpevent.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-breakpoint.c Allow breakpoint commands to be set from Python 2018-05-04 15:58:09 -06:00
py-cmd.c Change Python code to use new_reference 2018-04-30 11:33:12 -06:00
py-continueevent.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-event-types.def Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-event.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-event.h Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-events.h Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-evtregistry.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-evts.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-exitedevent.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-finishbreakpoint.c Convert observers to C++ 2018-03-19 09:37:49 -06:00
py-frame.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-framefilter.c Remove some uses of is_mi_like_p from py-framefilter.c 2018-04-30 12:59:04 -06:00
py-function.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-gdb-readline.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-inferior.c Convert observers to C++ 2018-03-19 09:37:49 -06:00
py-infevents.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-infthread.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-instruction.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-instruction.h Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-lazy-string.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-linetable.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-newobjfileevent.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-objfile.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-param.c Fix a memory leak in py-param.c 2018-06-20 21:10:10 -06:00
py-prettyprint.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-progspace.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-record-btrace.c btrace: set/show record btrace cpu 2018-04-13 11:35:55 +02:00
py-record-btrace.h Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-record-full.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-record-full.h Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-record.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-record.h Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-ref.h Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-signalevent.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-stopevent.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-stopevent.h Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-symbol.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-symtab.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-threadevent.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-type.c Remove a static buffer from cp-name-parser.y 2018-06-01 10:46:47 -06:00
py-unwind.c Convert observers to C++ 2018-03-19 09:37:49 -06:00
py-utils.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-value.c Use unique_xmalloc_ptr for read_string 2018-06-18 12:51:02 -06:00
py-varobj.c Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00
py-xmethods.c Remove xmethod_worker::clone 2018-01-07 09:25:33 -05:00
python-config.py configure uses incorrect link order when testing libpython 2018-05-04 10:08:09 -04:00
python-internal.h Add basic Python API for convenience variables 2018-05-31 15:00:40 -06:00
python.c Fix build issue with Python 3.7 2018-06-08 13:32:03 -04:00
python.h Update copyright year range in all GDB files 2018-01-02 07:38:06 +04:00