[PATCH] fix bug with command `printf "%s\n", $_as_string($pc)`
Matthew Malcomson
hardenedapple@gmail.com
Sun Feb 26 13:20:00 GMT 2017
I've attached the patch with correct formatting because my email client
replaces tabs with spaces. I'll leave the changelog entries as you
suggested.
Thanks again,
Matthew
> Just make sure to put each change in the relevant ChangeLog, the one
> "closest" to the change in the directory structure. For example, for
> you change, I would do:
>
> gdb/ChangeLog:
>
> * python/py-value.c (convert_value_from_python): Consider terminating
> NULL byte in string length.
>
> gdb/doc/ChangeLog:
>
> * gdb.texinfo (Convenience Variables for Tracepoints): Mention that
> trace_func should not be used with output and not printf.
>
> gdb/testsuite/ChangeLog:
>
> * gdb.python/py-as-string.c (malloc): New function.
> * gdb.python/py-as-string.exp (test_as_string): Test $_as_string on
> a string with printf.
> * gdb.python/py-mi.exp: Adjust array length.
>
>>> IIUC, the goal of overriding malloc is to ensure that the memory
>>> return by malloc is not all zeroes, which would potentially hide the
>>> bug? If that's right, you could instead write a wrapper for malloc
>>> instead of a replacement. The wrapper would memset the allocated
>>> buffer to 'x'es, for example. This way, it will be safer in case
>>> there are many calls to malloc or calls with size > 51.
>>>
>>> See option #2 of this answer: http://stackoverflow.com/a/262481
>>
>> Yes, that was the reason. I used this way because I read that gdb also
>> worked on non-POSIX systems (windows especially) and thought having a
>> working test on all systems would be preferred (though I didn't check
>> that all systems support the testing framework).
>> I believe that no other calls to malloc are made in the inferior for
>> this test, and that this program isn't used anywhere else, so this
>> limit of 51 bytes is never hit.
>> I agree this is a bug waiting to happen, so I can accept if the
>> alternate would be preferred, but I thought I'd mention my reasoning.
>
> That's a good justification too, I'm ok with either.
>
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: formatted_patch.patch
Type: text/x-patch
Size: 4031 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/gdb-patches/attachments/20170226/c7ef0333/attachment.bin>
More information about the Gdb-patches
mailing list