fix "#pragma option" crash when character count is over 31
For some reason `i` will be `32` after our for loop so an OOB happens when code tries to assign `'\0'` to `name[32]` since `name` size is 32. Doing a `-1` to `i` fixed this issue and now throws `error 038: extra characters on line` when character count is over 31.
This commit is contained in:
parent
bd670fb2e0
commit
b8dbbe9e43
@ -1344,7 +1344,7 @@ static int command(void)
|
|||||||
lptr++;
|
lptr++;
|
||||||
for (i=0; i<sizeof name && *lptr>' '; i++,lptr++)
|
for (i=0; i<sizeof name && *lptr>' '; i++,lptr++)
|
||||||
name[i]=*lptr;
|
name[i]=*lptr;
|
||||||
name[i]='\0';
|
name[i-1]='\0';
|
||||||
parsesingleoption(name);
|
parsesingleoption(name);
|
||||||
} else {
|
} else {
|
||||||
error(207); /* unknown #pragma */
|
error(207); /* unknown #pragma */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user