forked from Imagelibrary/binutils-gdb
Don't read beyond section end
* objcopy.c (copy_section): Don't read beyond section end.
This commit is contained in:
@@ -1,3 +1,7 @@
|
|||||||
|
2012-11-07 H.J. Lu <hongjiu.lu@intel.com>
|
||||||
|
|
||||||
|
* objcopy.c (copy_section): Don't read beyond section end.
|
||||||
|
|
||||||
2012-11-06 H.J. Lu <hongjiu.lu@intel.com>
|
2012-11-06 H.J. Lu <hongjiu.lu@intel.com>
|
||||||
|
|
||||||
PR binutils/14567
|
PR binutils/14567
|
||||||
|
|||||||
@@ -2823,7 +2823,11 @@ copy_section (bfd *ibfd, sec_ptr isection, void *obfdarg)
|
|||||||
|
|
||||||
for (; from < end; from += interleave)
|
for (; from < end; from += interleave)
|
||||||
for (i = 0; i < copy_width; i++)
|
for (i = 0; i < copy_width; i++)
|
||||||
*to++ = from[i];
|
{
|
||||||
|
if (&from[i] >= end)
|
||||||
|
break;
|
||||||
|
*to++ = from[i];
|
||||||
|
}
|
||||||
|
|
||||||
size = (size + interleave - 1 - copy_byte) / interleave * copy_width;
|
size = (size + interleave - 1 - copy_byte) / interleave * copy_width;
|
||||||
osection->lma /= interleave;
|
osection->lma /= interleave;
|
||||||
|
|||||||
Reference in New Issue
Block a user