From 7c8eba9fd2e7e5c56d54aac4cd0bb707a93da098 Mon Sep 17 00:00:00 2001 From: ISSOtm Date: Wed, 11 Mar 2020 00:23:56 +0100 Subject: [PATCH] Remove error message causing segfault This was utterly stupid. The check right above ensured that `sym` was NULL, ergo that the argument to `yyerror` *would* segfault. The only two call sites cannot pass a non-NULL pointer anyways, which I'm betting is why this went unnoticed. I did what an optimizing compiler would do anyways: remove the dead code. --- include/asm/symbol.h | 8 ++++++++ src/asm/symbol.c | 13 ------------- 2 files changed, 8 insertions(+), 13 deletions(-) diff --git a/include/asm/symbol.h b/include/asm/symbol.h index 7cee9949..407730f3 100644 --- a/include/asm/symbol.h +++ b/include/asm/symbol.h @@ -75,6 +75,14 @@ static inline bool sym_IsExported(struct sSymbol const *sym) return sym->isExported; } +/* + * Get a string equate's value + */ +static inline char *sym_GetStringValue(struct sSymbol const *sym) +{ + return sym->pMacro; +} + int32_t sym_GetValue(struct sSymbol const *sym); uint32_t sym_CalcHash(const char *s); void sym_SetExportAll(bool set); diff --git a/src/asm/symbol.c b/src/asm/symbol.c index b018965f..ee2650f7 100644 --- a/src/asm/symbol.c +++ b/src/asm/symbol.c @@ -249,19 +249,6 @@ void sym_Purge(char const *tzName) } } -/* - * Get a string equate's value - */ -char *sym_GetStringValue(struct sSymbol const *sym) -{ - if (sym != NULL) - return sym->pMacro; - - yyerror("String symbol '%s' not defined", sym->tzName); - - return NULL; -} - /* * Return a constant symbols value */