]> git.sur5r.net Git - cc65/commitdiff
Fixed a problem in GetSymParentScope, where an error in the assembler input
authoruz <uz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Tue, 31 May 2011 14:51:21 +0000 (14:51 +0000)
committeruz <uz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Tue, 31 May 2011 14:51:21 +0000 (14:51 +0000)
somewhere before could lead to an invalid memory access.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5031 b7a2c559-68d2-44c3-8de9-860c34a00d81

src/ca65/symentry.c

index 999ae32f80418ef464ca32129772b6632e8584bf..763820731c954d9d1d785877882256a1dd8df706 100644 (file)
@@ -627,6 +627,11 @@ SymTable* GetSymParentScope (SymEntry* S)
     if ((S->Flags & SF_LOCAL) != 0) {
         /* This is a cheap local symbol */
         return 0;
+    } else if (S->Sym.Tab == 0) {
+        /* Symbol not in a table. This may happen if there have been errors
+         * before. Return NULL in this case to avoid further errors.
+         */
+        return 0;
     } else {
         /* This is a global symbol */
         return S->Sym.Tab->Parent;