Blame 0030-cc1541-Fix-segfault-with-GCC-8-and-O2.patch

434e7f9
From befd13284bf2c46fd00b7406855dbe062cb5d1aa Mon Sep 17 00:00:00 2001
434e7f9
From: =?UTF-8?q?Bj=C3=B6rn=20Esser?= <besser82@fedoraproject.org>
434e7f9
Date: Fri, 21 Jun 2019 20:18:10 +0200
8f581c5
Subject: [PATCH 30/36] cc1541: Fix segfault with GCC 8 and -O2.
434e7f9
434e7f9
---
434e7f9
 cc1541.c | 3 ++-
434e7f9
 1 file changed, 2 insertions(+), 1 deletion(-)
434e7f9
434e7f9
diff --git a/cc1541.c b/cc1541.c
434e7f9
index a07e2ab..66e6397 100644
434e7f9
--- a/cc1541.c
434e7f9
+++ b/cc1541.c
434e7f9
@@ -62,7 +62,7 @@
434e7f9
 typedef struct
434e7f9
 {
434e7f9
     char* localname;
434e7f9
-    char filename[FILENAMEMAXSIZE];
434e7f9
+    char filename[FILENAMEMAXSIZE + 1];
434e7f9
     int loopindex;
434e7f9
     int direntryindex;
434e7f9
     int direntrysector;
434e7f9
@@ -1521,6 +1521,7 @@ main(int argc, char* argv[])
434e7f9
                 evalhexescape(filename);
434e7f9
                 strncpy(files[nrFiles].filename, filename, FILENAMEMAXSIZE);
434e7f9
             }
434e7f9
+            files[nrFiles].filename[FILENAMEMAXSIZE] = '\0';
434e7f9
             files[nrFiles].sectorInterleave = sectorInterleave ? sectorInterleave : defaultSectorInterleave;
434e7f9
             files[nrFiles].first_sector_new_track = first_sector_new_track;
434e7f9
             files[nrFiles].nrSectorsShown = nrSectorsShown;
434e7f9
-- 
434e7f9
2.21.0
434e7f9