Is it possible to overflow baton->size in dwarf_mark_symbols_computed() in dwarf2read.c?

Daniel Jacobowitz drow@false.org
Fri May 13 15:40:00 GMT 2005


On Fri, May 13, 2005 at 08:37:41AM -0700, Cuthbertson, Reva D. wrote:
> Yes, I ran into the problem.  I tried changing the declaration of the
> "size" field in dwarf2_loclist_baton and dwarf2_locexpr_baton in
> dwarf2loc.h to be an unsigned integer instead and that seemed to fix the
> problem I encountered.  Do you think this a reasonable solution?

No.  It should saturate instead; it only needs to be longer than any
supported location list/expression, and 64k is entirely reasonable for
that.  Int would waste a lot of memory.

Could you try that?  Something like if (expression < 65536) ->size =
expression; else size = 65535;


-- 
Daniel Jacobowitz
CodeSourcery, LLC



More information about the Gdb mailing list