diff options
author | Richard Sandiford <rdsandiford@googlemail.com> | 2009-04-01 19:05:53 +0000 |
---|---|---|
committer | Richard Sandiford <rdsandiford@googlemail.com> | 2009-04-01 19:05:53 +0000 |
commit | 8707bb8715e4fe3e309d7ad3e2d157888a06a6e7 (patch) | |
tree | 3d67a0303189eaa66075019456a10a46abbb374f /bfd | |
parent | 9db037429ba345fce9634d7508673c1cab5409f8 (diff) | |
download | gdb-8707bb8715e4fe3e309d7ad3e2d157888a06a6e7.zip gdb-8707bb8715e4fe3e309d7ad3e2d157888a06a6e7.tar.gz gdb-8707bb8715e4fe3e309d7ad3e2d157888a06a6e7.tar.bz2 |
bfd/
* xcofflink.c (bfd_link_input_bfd): Fix buffer overrun.
Diffstat (limited to 'bfd')
-rw-r--r-- | bfd/ChangeLog | 4 | ||||
-rw-r--r-- | bfd/xcofflink.c | 3 |
2 files changed, 5 insertions, 2 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index e0ed3a6..cbfad17 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,7 @@ +2009-04-01 Richard Sandiford <rdsandiford@googlemail.com> + + * xcofflink.c (bfd_link_input_bfd): Fix buffer overrun. + 2009-04-01 Christophe Lyon <christophe.lyon@st.com> * elf32-arm.c (group_sections): Rewrite loops for better diff --git a/bfd/xcofflink.c b/bfd/xcofflink.c index 3752f7c..ac0f529 100644 --- a/bfd/xcofflink.c +++ b/bfd/xcofflink.c @@ -4268,14 +4268,13 @@ xcoff_link_input_bfd (struct xcoff_final_link_info *finfo, bfd_coff_swap_lineno_in (input_bfd, linp, &lin); lin.l_addr.l_symndx = *indexp; bfd_coff_swap_lineno_out (output_bfd, &lin, linp); - linp += linesz; /* Copy the other entries, adjusting their addresses. */ linpend = linp + *lineno_counts * linesz; offset = (o->output_section->vma + o->output_offset - o->vma); - for (; linp < linpend; linp += linesz) + for (linp += linesz; linp < linpend; linp += linesz) { bfd_coff_swap_lineno_in (input_bfd, linp, &lin); lin.l_addr.l_paddr += offset; |