Crash in DT_FINI_ARRAY
Andreas Schwab
schwab@suse.de
Thu Jan 23 13:08:00 GMT 2003
The pointers in DT_FINI_ARRAY are already relocated.
Andreas.
2003-01-23 Andreas Schwab <schwab@suse.de>
* elf/dl-close.c (_dl_close): Don't relocate DT_FINI_ARRAY
elements.
--- elf/dl-close.c.~1.93.~ 2003-01-16 11:19:32.000000000 +0100
+++ elf/dl-close.c 2003-01-22 21:11:29.000000000 +0100
@@ -241,7 +241,7 @@ _dl_close (void *_map)
unsigned int cnt;
for (cnt = 0; cnt < sz; ++cnt)
- ((fini_t) (imap->l_addr + array[cnt])) ();
+ ((fini_t) array[cnt]) ();
}
/* Next try the old-style destructor. */
--
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux AG, Deutschherrnstr. 15-19, D-90429 Nürnberg
Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
More information about the Libc-hacker
mailing list