mirror of
https://gitlab.gnome.org/GNOME/libxml2.git
synced 2025-07-05 19:01:18 +03:00
Prevent integer-overflow in htmlSkipBlankChars() and xmlSkipBlankChars()
* HTMLparser.c: (htmlSkipBlankChars): * parser.c: (xmlSkipBlankChars): - Cap the return value at INT_MAX. - The commit range that OSS-Fuzz listed for the fix didn't make any changes to xmlSkipBlankChars(), so it seems like this issue may still exist. Found by OSS-Fuzz Issue 44803.
This commit is contained in:
@ -598,6 +598,7 @@ htmlSkipBlankChars(xmlParserCtxtPtr ctxt) {
|
||||
if (*ctxt->input->cur == 0)
|
||||
xmlParserInputGrow(ctxt->input, INPUT_CHUNK);
|
||||
}
|
||||
if (res < INT_MAX)
|
||||
res++;
|
||||
}
|
||||
return(res);
|
||||
|
2
parser.c
2
parser.c
@ -2202,6 +2202,7 @@ xmlSkipBlankChars(xmlParserCtxtPtr ctxt) {
|
||||
ctxt->input->col++;
|
||||
}
|
||||
cur++;
|
||||
if (res < INT_MAX)
|
||||
res++;
|
||||
if (*cur == 0) {
|
||||
ctxt->input->cur = cur;
|
||||
@ -2238,6 +2239,7 @@ xmlSkipBlankChars(xmlParserCtxtPtr ctxt) {
|
||||
* by the attachment of one leading and one following space (#x20)
|
||||
* character."
|
||||
*/
|
||||
if (res < INT_MAX)
|
||||
res++;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user