mirror of
https://github.com/gbdev/rgbds.git
synced 2025-11-28 13:57:48 +00:00
Merge pull request #420 from dbrotz/disallow-null-char
Reject input that contains null characters
This commit is contained in:
@@ -269,6 +269,7 @@ YY_BUFFER_STATE yy_create_buffer(FILE *f)
|
||||
/* Convert all line endings to LF and spaces */
|
||||
|
||||
char *mem = pBuffer->pBuffer;
|
||||
int32_t lineCount = 0;
|
||||
|
||||
while (*mem) {
|
||||
if ((mem[0] == '\\') && (mem[1] == '\"' || mem[1] == '\\')) {
|
||||
@@ -279,15 +280,22 @@ YY_BUFFER_STATE yy_create_buffer(FILE *f)
|
||||
|| ((mem[0] == '\r') && (mem[1] == '\n'))) {
|
||||
*mem++ = ' ';
|
||||
*mem++ = '\n';
|
||||
lineCount++;
|
||||
/* LF and CR */
|
||||
} else if ((mem[0] == '\n') || (mem[0] == '\r')) {
|
||||
*mem++ = '\n';
|
||||
lineCount++;
|
||||
} else {
|
||||
mem++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (mem != pBuffer->pBuffer + size) {
|
||||
nLineNo = lineCount + 1;
|
||||
fatalerror("Found null character");
|
||||
}
|
||||
|
||||
/* Remove comments */
|
||||
|
||||
mem = pBuffer->pBuffer;
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
ERROR: null-in-macro.asm(1):
|
||||
Unterminated MACRO definition.
|
||||
ERROR: null-in-macro.asm(2):
|
||||
Found null character
|
||||
|
||||
Reference in New Issue
Block a user