summaryrefslogtreecommitdiffstats
path: root/src/strip.c
diff options
context:
space:
mode:
authorRoland McGrath <[email protected]>2009-04-14 01:02:17 -0700
committerRoland McGrath <[email protected]>2009-04-14 01:02:17 -0700
commit04a14163323bc4d2d335909a2af7259bc53ddf8b (patch)
treef5e790714d042f7bc55fcf829b13e3e28b4fb210 /src/strip.c
parent9f3610fc21bf2d1451123e402edf0f34e406aa47 (diff)
Fix strip -f infinite loop when coping with some extra kooky object sections.
Diffstat (limited to 'src/strip.c')
-rw-r--r--src/strip.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/strip.c b/src/strip.c
index 27eb2106..d788ebf2 100644
--- a/src/strip.c
+++ b/src/strip.c
@@ -835,7 +835,8 @@ handle_elf (int fd, Elf *elf, const char *prefix, const char *fname,
inline void check_preserved (size_t i)
{
- if (i != 0 && shdr_info[i].idx != 0)
+ if (i != 0 && shdr_info[i].idx != 0
+ && shdr_info[i].debug_data == NULL)
{
if (shdr_info[i].data == NULL)
shdr_info[i].data = elf_getdata (shdr_info[i].scn, NULL);