]> git.sur5r.net Git - cc65/commitdiff
Fixed a duplicate-label test.
authorGreg King <gregdk@users.sf.net>
Fri, 4 Jan 2019 07:29:17 +0000 (02:29 -0500)
committerGreg King <gregdk@users.sf.net>
Fri, 4 Jan 2019 07:29:17 +0000 (02:29 -0500)
Don't call strcmp() if either argument is NULL.

src/da65/labels.c

index 6aa7f38cfe2623595993e4e12114125db3bbd74d..97e195ebfb09a496fdf839b4b93f4dfca8d188f1 100644 (file)
@@ -92,7 +92,9 @@ static void AddLabel (unsigned Addr, attr_t Attr, const char* Name)
         ** have a name (you guessed that, didn't you?).
         */
         if (ExistingAttr == Attr &&
-            ((Name == 0 && SymTab[Addr] == 0) || strcmp (SymTab[Addr], Name) == 0)) {
+            ((Name == 0 && SymTab[Addr] == 0) ||
+             (Name != 0 && SymTab[Addr] != 0 &&
+             strcmp (SymTab[Addr], Name) == 0))) {
             return;
         }
         Error ("Duplicate label for address $%04X: %s/%s", Addr, SymTab[Addr], Name);