[nasm:master] outieee: fix segfault on empty input

nasm-bot for H. Peter Anvin hpa at zytor.com
Wed Dec 7 10:54:07 PST 2022


Commit-ID:  c8af73112027fad0ecbb277e9cba257678c405af
Gitweb:     http://repo.or.cz/w/nasm.git?a=commitdiff;h=c8af73112027fad0ecbb277e9cba257678c405af
Author:     H. Peter Anvin <hpa at zytor.com>
AuthorDate: Wed, 7 Dec 2022 10:23:46 -0800
Committer:  H. Peter Anvin <hpa at zytor.com>
CommitDate: Wed, 7 Dec 2022 10:24:14 -0800

outieee: fix segfault on empty input

Fix the IEEE backend crashing if the input file is empty.

Signed-off-by: H. Peter Anvin <hpa at zytor.com>


---
 output/outieee.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/output/outieee.c b/output/outieee.c
index 878a17a4..7ba90366 100644
--- a/output/outieee.c
+++ b/output/outieee.c
@@ -1,6 +1,6 @@
 /* ----------------------------------------------------------------------- *
  *
- *   Copyright 1996-2016 The NASM Authors - All Rights Reserved
+ *   Copyright 1996-2022 The NASM Authors - All Rights Reserved
  *   See the file AUTHORS included with the NASM distribution for
  *   the specific copyright holders.
  *
@@ -936,7 +936,7 @@ static void ieee_write_file(void)
      * Write the section headers
      */
     seg = seghead;
-    if (!debuginfo && !strcmp(seg->name, "??LINE"))
+    if (!debuginfo && seg && !strcmp(seg->name, "??LINE"))
         seg = seg->next;
     while (seg) {
         char buf[256];
@@ -971,7 +971,7 @@ static void ieee_write_file(void)
     /*
      * write the start address if there is one
      */
-    if (ieee_entry_seg) {
+    if (ieee_entry_seg && seghead) {
         for (seg = seghead; seg; seg = seg->next)
             if (seg->index == ieee_entry_seg)
                 break;
@@ -1084,7 +1084,7 @@ static void ieee_write_file(void)
      *  put out section data;
      */
     seg = seghead;
-    if (!debuginfo && !strcmp(seg->name, "??LINE"))
+    if (!debuginfo && seg && !strcmp(seg->name, "??LINE"))
         seg = seg->next;
     while (seg) {
         if (seg->currentpos) {


More information about the Nasm-commits mailing list