Fix segfaults when using PC outside a section

This commit is contained in:
ISSOtm
2020-03-27 11:37:29 +01:00
parent 06fe27c516
commit 84cd9f2db9
8 changed files with 16 additions and 2 deletions

View File

@@ -230,7 +230,9 @@ uint32_t sym_GetConstantValue(char const *s)
struct sSymbol const *psym = sym_FindSymbol(s);
if (psym == pPCSymbol) {
if (pCurrentSection->nOrg == -1)
if (!pCurrentSection)
yyerror("PC has no value outside a section");
else if (pCurrentSection->nOrg == -1)
yyerror("Expected constant PC but section is not fixed");
else
return sym_GetValue(psym);