[PATCH] libdw: Prevent infinite recursion when processing DW_TAG_imported_unit.
Petr Machata
pmachata at redhat.com
Mon Jan 12 02:15:31 UTC 2015
Mark Wielaard <mjw at redhat.com> writes:
> + /* Checks the given DIE hasn't been imported yet to prevent cycles. */
> + inline bool imports_contains (Dwarf_Die *die)
> + {
> + struct Dwarf_Die_Chain *import = imports;
> + while (import != NULL)
> + {
> + if (import->die.addr == die->addr)
> + return true;
> + import = import->parent;
> + }
This is equivalent but is IMHO canonical:
for (Dwarf_Die_Chain *import = imports; import != NULL;
import = import->parent)
if (import->die.addr == die->addr)
return true;
Thanks,
Petr
More information about the elfutils-devel
mailing list