2010-04-08 Phil Muldoon <pmuldoon@redhat.com>
PR python/11417 * python/py-lazy-string.c (stpy_convert_to_value): Check for a NULL address. (gdbpy_create_lazy_string_object): Allow strings with a NULL address and a zero length. 2010-04-08 Phil Muldoon <pmuldoon@redhat.com> * gdb.python/py-value: Add null string variable. (test_lazy_string): Test zero length, NULL address lazy strings.
This commit is contained in:
parent
f8c4f48020
commit
fff5cc649e
5 changed files with 32 additions and 3 deletions
|
@ -94,6 +94,13 @@ stpy_convert_to_value (PyObject *self, PyObject *args)
|
|||
lazy_string_object *self_string = (lazy_string_object *) self;
|
||||
struct value *val;
|
||||
|
||||
if (self_string->address == 0)
|
||||
{
|
||||
PyErr_SetString (PyExc_MemoryError,
|
||||
"Cannot create a value from NULL");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
val = value_at_lazy (self_string->type, self_string->address);
|
||||
return value_to_value_object (val);
|
||||
}
|
||||
|
@ -111,10 +118,11 @@ gdbpy_create_lazy_string_object (CORE_ADDR address, long length,
|
|||
{
|
||||
lazy_string_object *str_obj = NULL;
|
||||
|
||||
if (address == 0)
|
||||
if (address == 0 && length != 0)
|
||||
{
|
||||
PyErr_SetString (PyExc_MemoryError,
|
||||
"Cannot create a lazy string from a GDB-side string.");
|
||||
_("Cannot create a lazy string with address 0x0, " \
|
||||
"and a non-zero length."));
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue