From: Alan Modra Date: Sun, 24 May 2009 11:47:27 +0000 (+0000) Subject: * bfdio.c (bfd_seek): Formatting. Ensure newly allocated memory X-Git-Tag: sid-snapshot-20090601~87 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5c93f09bedf7ff02efd6d82504bbc3c68df6d197;p=external%2Fbinutils.git * bfdio.c (bfd_seek): Formatting. Ensure newly allocated memory for BFD_IN_MEMORY is cleared. (bfd_bwrite): Zero excess memory allocated. --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 6e5652f..217b96c 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,9 @@ +2009-05-24 Alan Modra + + * bfdio.c (bfd_seek): Formatting. Ensure newly allocated memory + for BFD_IN_MEMORY is cleared. + (bfd_bwrite): Zero excess memory allocated. + 2009-05-22 Julian Brown * elf32-arm.c (THUMB16_BCOND_INSN, THUMB32_INSN, THUMB32_B_INSN): New diff --git a/bfd/bfdio.c b/bfd/bfdio.c index d3a295c..16bbf03 100644 --- a/bfd/bfdio.c +++ b/bfd/bfdio.c @@ -235,6 +235,8 @@ bfd_bwrite (const void *ptr, bfd_size_type size, bfd *abfd) bim->size = 0; return 0; } + if (newsize > bim->size) + memset (bim->buffer + bim->size, 0, newsize - bim->size); } } memcpy (bim->buffer + abfd->where, ptr, (size_t) size); @@ -342,8 +344,8 @@ bfd_seek (bfd *abfd, file_ptr position, int direction) if (abfd->where > bim->size) { - if ((abfd->direction == write_direction) || - (abfd->direction == both_direction)) + if (abfd->direction == write_direction + || abfd->direction == both_direction) { bfd_size_type newsize, oldsize; @@ -359,6 +361,7 @@ bfd_seek (bfd *abfd, file_ptr position, int direction) bim->size = 0; return -1; } + memset (bim->buffer + oldsize, 0, newsize - oldsize); } } else