* src/SDCCmain.c: prevent NULL pointer dereference, avoid warning
authortecodev <tecodev@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Tue, 12 Jun 2007 23:08:19 +0000 (23:08 +0000)
committertecodev <tecodev@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Tue, 12 Jun 2007 23:08:19 +0000 (23:08 +0000)
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@4851 4a8a32a2-be11-0410-ad9d-d568d2c75423

ChangeLog
src/SDCCmain.c

index 9a1ce174a6c1a77e2cee403b124d53479e20ec58..b4823f368ddb553f6f6b039b2d465b286ff56551 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2007-06-13 Raphael Neider <rneider AT web.de>
+
+       * src/SDCCmain.c: prevent NULL pointer dereference, avoid warning
+
 2007-06-12 Raphael Neider <rneider AT web.de>
 
        * support/scripts/inc2h.pl: conditionally emit defines for SFR bits,
index d8eb615f943993d63711c2aa41559b00cd918697..71fb88637a584fe5df1e45db645c5124ad663b73 100644 (file)
@@ -793,11 +793,11 @@ scanOptionsTable(const OPTION *optionsTable, char shortOpt, const char *longOpt,
         }
       else
         {
-          size_t len = strlen(optionsTable[i].longOpt);
+          size_t len = optionsTable[i].longOpt ? strlen(optionsTable[i].longOpt) : 0;
 
           if (longOpt &&
             (optionsTable[i].arg_type != CLAT_BOOLEAN ||
-            optionsTable[i].arg_type == CLAT_BOOLEAN && len == strlen(longOpt) && optionsTable[i].longOpt) &&
+            (optionsTable[i].arg_type == CLAT_BOOLEAN && len == strlen(longOpt) && optionsTable[i].longOpt)) &&
             strncmp(optionsTable[i].longOpt, longOpt, len) == 0)
             {
               /* If it is a flag then we can handle it here */