When cross-compiling kernel/signal.c from the Linux kernel for Vax on an i686
Linux PC the assembler crashes with memory corruption reported by libc. Using
libefence turns the error into a segmentation fault.

The error is caused by lines 550-552 in app.c. If the from-buffer contains more
text than the space left in the to-buffer to ends up pointing after the buffer,
and the next call of PUT writes beyond the end.

To fix the problem something like the attached patch could be used - it just
copies the check from PUT.

-- 
           Summary: Memory corruption from gas
           Product: binutils
           Version: 2.17
            Status: NEW
          Severity: critical
          Priority: P2
         Component: gas
        AssignedTo: unassigned at sources dot redhat dot com
        ReportedBy: renard at nospam dot dk
                CC: bug-binutils at gnu dot org
  GCC host triplet: i686-linux-gnu
GCC target triplet: vax-linux-uclibc


http://sourceware.org/bugzilla/show_bug.cgi?id=4722

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.


_______________________________________________
bug-binutils mailing list
bug-binutils@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-binutils

Reply via email to