tizen 2.3 release
[external/binutils.git] / packaging / fixbug13534_3.patch
1 commit 23a979dc1779ac63cd799bfa2f6c2aed1f1bff66
2 Author: Francois Gouget <fgouget@codeweavers.com>
3 Date:   Tue Dec 20 18:41:35 2011 +0100
4
5     bfd: Fix parsing the size of archive elements larger than 2GB.
6
7 diff --git a/bfd/archive.c b/bfd/archive.c
8 index 05aba6c..01acf98 100644
9 --- a/bfd/archive.c
10 +++ b/bfd/archive.c
11 @@ -446,7 +446,7 @@ _bfd_generic_read_ar_hdr_mag (bfd *abfd, const char *mag)
12  {
13    struct ar_hdr hdr;
14    char *hdrp = (char *) &hdr;
15 -  size_t parsed_size;
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)
21      }
22  
23    errno = 0;
24 -  parsed_size = strtol (hdr.ar_size, NULL, 10);
25 -  if (errno != 0)
26 +  if (sscanf(hdr.ar_size, "%" BFD_VMA_FMT "u", &parsed_size) != 1)
27      {
28        bfd_set_error (bfd_error_malformed_archive);
29        return NULL;