readelf: handle corrupted chains better
authorMike Frysinger <vapier@gentoo.org>
Tue, 24 Feb 2015 06:47:51 +0000 (01:47 -0500)
committerMike Frysinger <vapier@gentoo.org>
Tue, 24 Feb 2015 15:36:51 +0000 (10:36 -0500)
commit94d15024fe3dff908ab570aaa741b1c834c856d6
tree06538d9c122471238ba178b4b9babd4adbf9be12
parent884151a7b8f1770a823e5017c8f5025802c44f24
readelf: handle corrupted chains better

The current chain walker tries to protect itself against loops, by only
works with loops of length 1: a chain that points to itself.  If you have
a chain longer than that (3->4->3->4->...), readelf will still hang.

Since we know the max length of the chain, simply abort when we've walked
more times than that.  The only way that could have happened is if there
was a loop.
binutils/ChangeLog
binutils/readelf.c