This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
fix archive header parse
- From: Alan Modra <amodra at gmail dot com>
- To: binutils at sourceware dot org
- Date: Wed, 16 May 2012 22:29:35 +0930
- Subject: 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