Fix buffer overflow in xbm_scan (bug#47094)
* src/image.c (xbm_scan): Ensure reading a string doesn't overflow the buffer.
This commit is contained in:
parent
fbfc3bd317
commit
ebc3b25409
1 changed files with 2 additions and 1 deletions
|
@ -3392,6 +3392,7 @@ static int
|
|||
xbm_scan (char **s, char *end, char *sval, int *ival)
|
||||
{
|
||||
unsigned char c UNINIT;
|
||||
char *sval_end = sval + BUFSIZ;
|
||||
|
||||
loop:
|
||||
|
||||
|
@ -3451,7 +3452,7 @@ xbm_scan (char **s, char *end, char *sval, int *ival)
|
|||
else if (c_isalpha (c) || c == '_')
|
||||
{
|
||||
*sval++ = c;
|
||||
while (*s < end
|
||||
while (*s < end && sval < sval_end
|
||||
&& (c = *(*s)++, (c_isalnum (c) || c == '_')))
|
||||
*sval++ = c;
|
||||
*sval = 0;
|
||||
|
|
Loading…
Add table
Reference in a new issue