* archive.c (_bfd_generic_read_ar_hdr_mag): Ensure sscanf
authorAlan Modra <amodra@gmail.com>
Wed, 16 May 2012 13:00:29 +0000 (13:00 +0000)
committerAlan Modra <amodra@gmail.com>
Wed, 16 May 2012 13:00:29 +0000 (13:00 +0000)
stops at end of ar_size field.

bfd/ChangeLog
bfd/archive.c

index 34bee4f..9db6ed3 100644 (file)
@@ -1,5 +1,10 @@
 2012-05-16  Alan Modra  <amodra@gmail.com>
 
+       * archive.c (_bfd_generic_read_ar_hdr_mag):  Ensure sscanf
+       stops at end of ar_size field.
+
+2012-05-16  Alan Modra  <amodra@gmail.com>
+
        PR ld/13962
        PR ld/7023
        * elf.c (bfd_section_from_shdr): Fail when .dynsym sh_info is
index fd44f54..eb5f5ec 100644 (file)
@@ -471,6 +471,7 @@ _bfd_generic_read_ar_hdr_mag (bfd *abfd, const char *mag)
     }
 
   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);