This is the mail archive of the elfutils-devel@sourceware.org mailing list for the elfutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Rerequesting dwarf_tag on a die with invalid abbrev code


Hi Petr,

On Wed, 2011-03-16 at 18:13 +0100, Petr Machata wrote:
> this is similar to the fix that I did recently for rerequesting
> dwarf_tag for DIE with zero abbrev code, except this time the DIE has
> non-zero invalid code.  On such a DIE, the following SEGVs libdw:
> 
>     die = dwarf_offdie (dw, 11, &die_mem);
>     dwarf_tag (die);
>     die = dwarf_offdie (dw, 11, &die_mem)
>     dwarf_tag (die);
> 
> The fix and a test case are on pmachata/rerequest-tag.

That fix makes sense to me. Although I had to triple check why it was
correct.

<pedantic> The comment and the return inside the while loop was
confusing me at first. It would maybe be slightly easier on the reader
to replace the "return DWARF_END_ABBREV;" with a "break;", so that your
"at the end already" logic triggers always instead of only on the second
(or third, etc.) call. </pedantic>

Cheers,

Mark

BTW. I wouldn't mind seeing small patches like that on the list. In this
case I needed to pull anyway, to see it in full context, but otherwise
it is slightly easier/quicker to review.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]