1 commit 23a979dc1779ac63cd799bfa2f6c2aed1f1bff66
2 Author: Francois Gouget <fgouget@codeweavers.com>
3 Date: Tue Dec 20 18:41:35 2011 +0100
5 bfd: Fix parsing the size of archive elements larger than 2GB.
7 diff --git a/bfd/archive.c b/bfd/archive.c
8 index 05aba6c..01acf98 100644
11 @@ -446,7 +446,7 @@ _bfd_generic_read_ar_hdr_mag (bfd *abfd, const char *mag)
14 char *hdrp = (char *) &hdr;
16 + bfd_size_type parsed_size;
17 struct areltdata *ared;
18 char *filename = NULL;
19 bfd_size_type namelen = 0;
20 @@ -470,8 +470,7 @@ _bfd_generic_read_ar_hdr_mag (bfd *abfd, const char *mag)
24 - parsed_size = strtol (hdr.ar_size, NULL, 10);
26 + if (sscanf(hdr.ar_size, "%" BFD_VMA_FMT "u", &parsed_size) != 1)
28 bfd_set_error (bfd_error_malformed_archive);