mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-03-04 09:44:26 +00:00
Merge pull request #2768 from signalwire/libexpat
[xmlrpc-c] Expat/xmltok: Add missing validation of encoding
This commit is contained in:
commit
f11e95e3fb
@ -32,7 +32,7 @@ See the file copying.txt for copying permission.
|
|||||||
case BT_LEAD ## n: \
|
case BT_LEAD ## n: \
|
||||||
if (end - ptr < n) \
|
if (end - ptr < n) \
|
||||||
return XML_TOK_PARTIAL_CHAR; \
|
return XML_TOK_PARTIAL_CHAR; \
|
||||||
if (!IS_NAME_CHAR(enc, ptr, n)) { \
|
if (IS_INVALID_CHAR(enc, ptr, n) || ! IS_NAME_CHAR(enc, ptr, n)) { \
|
||||||
*nextTokPtr = ptr; \
|
*nextTokPtr = ptr; \
|
||||||
return XML_TOK_INVALID; \
|
return XML_TOK_INVALID; \
|
||||||
} \
|
} \
|
||||||
@ -60,7 +60,7 @@ See the file copying.txt for copying permission.
|
|||||||
case BT_LEAD ## n: \
|
case BT_LEAD ## n: \
|
||||||
if (end - ptr < n) \
|
if (end - ptr < n) \
|
||||||
return XML_TOK_PARTIAL_CHAR; \
|
return XML_TOK_PARTIAL_CHAR; \
|
||||||
if (!IS_NMSTRT_CHAR(enc, ptr, n)) { \
|
if (IS_INVALID_CHAR(enc, ptr, n) || ! IS_NMSTRT_CHAR(enc, ptr, n)) { \
|
||||||
*nextTokPtr = ptr; \
|
*nextTokPtr = ptr; \
|
||||||
return XML_TOK_INVALID; \
|
return XML_TOK_INVALID; \
|
||||||
} \
|
} \
|
||||||
@ -1157,6 +1157,10 @@ int PREFIX(prologTok)(const ENCODING *enc, const char *ptr, const char *end,
|
|||||||
case BT_LEAD ## n: \
|
case BT_LEAD ## n: \
|
||||||
if (end - ptr < n) \
|
if (end - ptr < n) \
|
||||||
return XML_TOK_PARTIAL_CHAR; \
|
return XML_TOK_PARTIAL_CHAR; \
|
||||||
|
if (IS_INVALID_CHAR(enc, ptr, n)) { \
|
||||||
|
*nextTokPtr = ptr; \
|
||||||
|
return XML_TOK_INVALID; \
|
||||||
|
} \
|
||||||
if (IS_NMSTRT_CHAR(enc, ptr, n)) { \
|
if (IS_NMSTRT_CHAR(enc, ptr, n)) { \
|
||||||
ptr += n; \
|
ptr += n; \
|
||||||
tok = XML_TOK_NAME; \
|
tok = XML_TOK_NAME; \
|
||||||
|
Loading…
x
Reference in New Issue
Block a user