Fix buffer overflow in xbm_scan (bug#47094)
* src/image.c (xbm_scan): Ensure reading a string doesn't overflow the
buffer.
(cherry picked from commit ebc3b25409)
This commit is contained in:
committed by
Eli Zaretskii
parent
f60eb988f6
commit
b9ec6111e2
@@ -3256,6 +3256,7 @@ static int
|
||||
xbm_scan (char **s, char *end, char *sval, int *ival)
|
||||
{
|
||||
unsigned char c UNINIT;
|
||||
char *sval_end = sval + BUFSIZ;
|
||||
|
||||
loop:
|
||||
|
||||
@@ -3315,7 +3316,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;
|
||||
|
||||
Reference in New Issue
Block a user