This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

fix archive header parse


Found by valgrind.  sccanf looked past the end of auto var hdr.

	* archive.c (_bfd_generic_read_ar_hdr_mag): Ensure sscanf
	stops at end of ar_size field.

Index: bfd/archive.c
===================================================================
RCS file: /cvs/src/src/bfd/archive.c,v
retrieving revision 1.82
diff -u -p -r1.82 archive.c
--- bfd/archive.c	2 Feb 2012 11:35:31 -0000	1.82
+++ bfd/archive.c	16 May 2012 11:45:43 -0000
@@ -471,6 +471,7 @@ _bfd_generic_read_ar_hdr_mag (bfd *abfd,
     }
 
   errno = 0;
+  hdr.ar_fmag[0] = 0;
   if (sscanf (hdr.ar_size, "%" BFD_VMA_FMT "u", &parsed_size) != 1)
     {
       bfd_set_error (bfd_error_malformed_archive);

-- 
Alan Modra
Australia Development Lab, IBM


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]