clfs-1.2
clfs-2.1
clfs-3.0.0-systemd
clfs-3.0.0-sysvinit
systemd
sysvinit
Last change
on this file since a092f8af 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.