[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Odd crash with strip
From: |
Alan Modra |
Subject: |
Re: Odd crash with strip |
Date: |
Wed, 11 Jan 2006 08:43:54 +1030 |
User-agent: |
Mutt/1.4i |
On Tue, Jan 10, 2006 at 01:42:34AM -0600, R.K. wrote:
> # strip bash checkpassword cp
> BFD: checkpassword: warning: Empty loadable segment detected, is this
> intentional ?
>
> BFD: checkpassword: warning: Empty loadable segment detected, is this
> intentional ?
>
> strip: there are no sections to be copied!
> free(): invalid pointer 0x8102f78!
> Segmentation fault (core dumped)
Segfault cured like this.
* objcopy.c (copy_object): Set isympp and osympp to NULL after free.
Index: binutils/objcopy.c
===================================================================
RCS file: /cvs/src/src/binutils/objcopy.c,v
retrieving revision 1.90
diff -u -p -r1.90 objcopy.c
--- binutils/objcopy.c 15 Nov 2005 08:33:38 -0000 1.90
+++ binutils/objcopy.c 10 Jan 2006 22:10:07 -0000
@@ -1281,10 +1281,16 @@ copy_object (bfd *ibfd, bfd *obfd)
}
if (isympp)
- free (isympp);
+ {
+ free (isympp);
+ isympp = NULL;
+ }
if (osympp != isympp)
- free (osympp);
+ {
+ free (osympp);
+ osympp = NULL;
+ }
/* BFD mandates that all output sections be created and sizes set before
any output is done. Thus, we traverse all sections multiple times. */
--
Alan Modra
IBM OzLabs - Linux Technology Centre