aboutsummaryrefslogtreecommitdiff
path: root/bfd/tekhex.c
diff options
context:
space:
mode:
Diffstat (limited to 'bfd/tekhex.c')
-rw-r--r--bfd/tekhex.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/bfd/tekhex.c b/bfd/tekhex.c
index 94b4773..63d7d8d 100644
--- a/bfd/tekhex.c
+++ b/bfd/tekhex.c
@@ -407,7 +407,13 @@ first_phase (bfd *abfd, int type, char *src, char * src_end)
return FALSE;
if (!getvalue (&src, &val, src_end))
return FALSE;
+ if (val < section->vma)
+ val = section->vma;
section->size = val - section->vma;
+ /* PR 17512: file: objdump-s-endless-loop.tekhex.
+ Check for overlarge section sizes. */
+ if (section->size & 0x80000000)
+ return FALSE;
section->flags = SEC_HAS_CONTENTS | SEC_LOAD | SEC_ALLOC;
break;
case '0':