diff options
author | Tom Tromey <tom@tromey.com> | 2019-12-21 09:51:05 -0700 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2020-01-14 17:57:52 -0700 |
commit | ff47f4f06d296b672337e2c7363a745cd2725f58 (patch) | |
tree | 9a60eb2433cffbcbfab90243b5fe2744a8e8cd76 /gdb/python | |
parent | b300843444cf833f7b3943ebae060c3d88b4ce91 (diff) | |
download | gdb-ff47f4f06d296b672337e2c7363a745cd2725f58.zip gdb-ff47f4f06d296b672337e2c7363a745cd2725f58.tar.gz gdb-ff47f4f06d296b672337e2c7363a745cd2725f58.tar.bz2 |
Fix valgrind error from gdb.decode_line
PR symtab/12535 points out that gdb.decode_line("") will cause a
valgrind report.
I think the empty linespec does not really make sense. So, this patch
changes gdb.decode_line to treat a whitespace-only linespec the same
as a non-existing argument.
gdb/ChangeLog
2020-01-14 Tom Tromey <tom@tromey.com>
PR symtab/12535:
* python/python.c (gdbpy_decode_line): Treat empty string the same
as no argument.
gdb/testsuite/ChangeLog
2020-01-14 Tom Tromey <tom@tromey.com>
PR symtab/12535:
* gdb.python/python.exp: Test decode_line with empty string
argument.
Change-Id: I1d95812b4b7a21d69a3e9afd05b9e3141a931897
Diffstat (limited to 'gdb/python')
-rw-r--r-- | gdb/python/python.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/gdb/python/python.c b/gdb/python/python.c index e0c05f1..d6f7f99 100644 --- a/gdb/python/python.c +++ b/gdb/python/python.c @@ -810,6 +810,15 @@ gdbpy_decode_line (PyObject *self, PyObject *args) if (! PyArg_ParseTuple (args, "|s", &arg)) return NULL; + /* Treat a string consisting of just whitespace the same as + NULL. */ + if (arg != NULL) + { + arg = skip_spaces (arg); + if (*arg == '\0') + arg = NULL; + } + if (arg != NULL) location = string_to_event_location_basic (&arg, python_language, symbol_name_match_type::WILD); |