diff options
author | Alan Modra <amodra@gmail.com> | 2009-05-24 11:47:27 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2009-05-24 11:47:27 +0000 |
commit | 5c93f09bedf7ff02efd6d82504bbc3c68df6d197 (patch) | |
tree | 3c81714b03d55b3dc3a3862f19a060090a423ea4 /bfd/bfdio.c | |
parent | 5e31abdf71821ee0b43ee64f95b3ee7d161835b5 (diff) | |
download | gdb-5c93f09bedf7ff02efd6d82504bbc3c68df6d197.zip gdb-5c93f09bedf7ff02efd6d82504bbc3c68df6d197.tar.gz gdb-5c93f09bedf7ff02efd6d82504bbc3c68df6d197.tar.bz2 |
* bfdio.c (bfd_seek): Formatting. Ensure newly allocated memory
for BFD_IN_MEMORY is cleared.
(bfd_bwrite): Zero excess memory allocated.
Diffstat (limited to 'bfd/bfdio.c')
-rw-r--r-- | bfd/bfdio.c | 7 |
1 files changed, 5 insertions, 2 deletions
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 |