diff options
author | Tristan Gingold <gingold@adacore.com> | 2010-11-04 16:17:42 +0000 |
---|---|---|
committer | Tristan Gingold <gingold@adacore.com> | 2010-11-04 16:17:42 +0000 |
commit | fdc9f87905406514c7e654ad84321ccc7ef0b062 (patch) | |
tree | 4ee86bb52981dfd905ae5834f4488aaf48ee9cda /bfd/vms-lib.c | |
parent | d8947eec4caf4d85a9e22526d6a7eee69235a1cc (diff) | |
download | binutils-redhat-fdc9f87905406514c7e654ad84321ccc7ef0b062.tar.gz |
2010-11-04 Tristan Gingold <gingold@adacore.com>
* vms-lib.c (vms_write_index): Fix thinko: reverse the loop.
Use bfd_zmalloc instead of bfd_malloc. Fix comment.
Diffstat (limited to 'bfd/vms-lib.c')
-rw-r--r-- | bfd/vms-lib.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/bfd/vms-lib.c b/bfd/vms-lib.c index 6e86df3b5c..6ab78eab61 100644 --- a/bfd/vms-lib.c +++ b/bfd/vms-lib.c @@ -1591,7 +1591,7 @@ vms_write_index (bfd *abfd, /* Allocate first index block. */ level = 1; if (abfd != NULL) - rblk[0] = bfd_malloc (sizeof (struct vms_indexdef)); + rblk[0] = bfd_zmalloc (sizeof (struct vms_indexdef)); blk[0].vbn = (*vbn)++; blk[0].len = 0; blk[0].lastlen = 0; @@ -1698,7 +1698,7 @@ vms_write_index (bfd *abfd, /* Need to create a parent. */ if (abfd != NULL) { - rblk[level] = bfd_malloc (sizeof (struct vms_indexdef)); + rblk[level] = bfd_zmalloc (sizeof (struct vms_indexdef)); bfd_putl32 (*vbn, rblk[j]->parent); } blk[level].vbn = (*vbn)++; @@ -1717,7 +1717,8 @@ vms_write_index (bfd *abfd, memcpy (rblk[j + 1]->keys + blk[j + 1].len, rblk[j]->keys + blk[j].len, blk[j].lastlen); - /* Fix the entry (which in always the first field of an entry. */ + /* Fix the entry (which in always the first field of an + entry. */ rfa = (struct vms_rfa *)(rblk[j + 1]->keys + blk[j + 1].len); bfd_putl32 (blk[j].vbn, rfa->vbn); bfd_putl16 (RFADEF__C_INDEX, rfa->offset); @@ -1806,7 +1807,7 @@ vms_write_index (bfd *abfd, return TRUE; /* Flush. */ - for (j = 0; j < level; j++) + for (j = level - 1; j >= 0; j--) { if (j > 0) { |