clfs-1.2clfs-2.1clfs-3.0.0-systemdclfs-3.0.0-sysvinitsystemdsysvinit
Last change
on this file since bb6d7f8 was
bb6d7f8,
checked in by Jim Gifford <clfs@…>, 15 years ago
|
Added new binutils patch
|
-
Property mode set to
100644
|
File size:
1.3 KB
|
Rev | Line | |
---|
[bb6d7f8] | 1 | Fix build-id patch to avoid memory corruption. (BZ 501582) |
---|
| 2 | |
---|
| 3 | diff -rup ../binutils-2.19.51.0.11.orig/bfd/elfcode.h bfd/elfcode.h |
---|
| 4 | --- ../binutils-2.19.51.0.11.orig/bfd/elfcode.h 2009-07-14 11:23:27.000000000 +0100 |
---|
| 5 | +++ bfd/elfcode.h 2009-07-14 11:33:56.000000000 +0100 |
---|
| 6 | @@ -1170,6 +1170,24 @@ elf_checksum_contents (bfd *abfd, |
---|
| 7 | |
---|
| 8 | if (i_shdr.contents) |
---|
| 9 | (*process) (i_shdr.contents, i_shdr.sh_size, arg); |
---|
| 10 | + else |
---|
| 11 | + { |
---|
| 12 | + asection *sec; |
---|
| 13 | + |
---|
| 14 | + sec = bfd_section_from_elf_index (abfd, count); |
---|
| 15 | + if (sec != NULL) |
---|
| 16 | + { |
---|
| 17 | + if (sec->contents == NULL) |
---|
| 18 | + { |
---|
| 19 | + /* Force rereading from file. */ |
---|
| 20 | + sec->flags &= ~SEC_IN_MEMORY; |
---|
| 21 | + if (! bfd_malloc_and_get_section (abfd, sec, & sec->contents)) |
---|
| 22 | + continue; |
---|
| 23 | + } |
---|
| 24 | + if (sec->contents != NULL) |
---|
| 25 | + (*process) (sec->contents, i_shdr.sh_size, arg); |
---|
| 26 | + } |
---|
| 27 | + } |
---|
| 28 | } |
---|
| 29 | |
---|
| 30 | return TRUE; |
---|
| 31 | diff -rup ../binutils-2.19.51.0.11.orig/bfd/section.c bfd/section.c |
---|
| 32 | --- ../binutils-2.19.51.0.11.orig/bfd/section.c 2009-07-14 11:23:27.000000000 +0100 |
---|
| 33 | +++ bfd/section.c 2009-07-14 11:33:26.000000000 +0100 |
---|
| 34 | @@ -1477,7 +1477,7 @@ bfd_malloc_and_get_section (bfd *abfd, s |
---|
| 35 | if (sz == 0) |
---|
| 36 | return TRUE; |
---|
| 37 | |
---|
| 38 | - p = bfd_malloc (sec->rawsize > sec->size ? sec->rawsize : sec->size); |
---|
| 39 | + p = bfd_zmalloc (sec->rawsize > sec->size ? sec->rawsize : sec->size); |
---|
| 40 | if (p == NULL) |
---|
| 41 | return FALSE; |
---|
| 42 | *buf = p; |
---|
| 43 | |
---|
Note: See
TracBrowser
for help on using the repository browser.