From 24d893083c3f9e99c46feeb91c531af5b27e2eba Mon Sep 17 00:00:00 2001 From: Matthias Braun Date: Sat, 29 Dec 2007 14:01:23 +0000 Subject: [PATCH] old declaration may be NULL [r18829] --- parser.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/parser.c b/parser.c index c963b63..02288e9 100644 --- a/parser.c +++ b/parser.c @@ -525,8 +525,8 @@ static declaration_t *get_declaration(const symbol_t *const symbol, const namesp */ static void stack_push(stack_entry_t **stack_ptr, declaration_t *declaration) { - symbol_t *symbol = declaration->symbol; - namespace_t namespc = (namespace_t)declaration->namespc; + symbol_t *symbol = declaration->symbol; + namespace_t namespc = (namespace_t) declaration->namespc; /* replace/add declaration into declaration list of the symbol */ declaration_t *iter = symbol->declaration; @@ -610,7 +610,9 @@ static void stack_pop_to(stack_entry_t **stack_ptr, size_t new_top) if(iter->namespc == namespc) { assert(iter_last != NULL); iter_last->symbol_next = old_declaration; - old_declaration->symbol_next = iter->symbol_next; + if(old_declaration != NULL) { + old_declaration->symbol_next = iter->symbol_next; + } break; } } -- 2.20.1