* readelf.c (apply_relocations): Catch relocations with negative
	offsets.
+2013-03-22  Nick Clifton  <nickc@redhat.com>
+
+       PR binutils/15157
+       * readelf.c (apply_relocations): Catch relocations with negative
+       offsets.
+
 2013-03-15  Nick Clifton  <nickc@redhat.com>
 
        * addr2line.c (slurp_symtab): If canonicalization reveals that
 
            }
 
          rloc = start + rp->r_offset;
-         if ((rloc + reloc_size) > end)
+         if ((rloc + reloc_size) > end || (rloc < start))
            {
              warn (_("skipping invalid relocation offset 0x%lx in section %s\n"),
                    (unsigned long) rp->r_offset,