mirror of
https://gitlab.gnome.org/GNOME/libxml2.git
synced 2025-07-29 11:41:22 +03:00
Staring to receive bug reports on 2.3.7:
- entities.c: xmlEncodeEntitiesReentrant fixed a few accesses to doc where it wasn't checked against NULL reported by Jens Laas Daniel
This commit is contained in:
@ -643,7 +643,7 @@ xmlEncodeEntitiesReentrant(xmlDocPtr doc, const xmlChar *input) {
|
||||
*/
|
||||
*out++ = *cur;
|
||||
} else if (*cur >= 0x80) {
|
||||
if ((doc->encoding != NULL) || (html)) {
|
||||
if (((doc != NULL) && (doc->encoding != NULL)) || (html)) {
|
||||
/*
|
||||
* Bj<42>rn Reese <br@sseusa.com> provided the patch
|
||||
xmlChar xc;
|
||||
@ -664,7 +664,8 @@ xmlEncodeEntitiesReentrant(xmlDocPtr doc, const xmlChar *input) {
|
||||
if (*cur < 0xC0) {
|
||||
xmlGenericError(xmlGenericErrorContext,
|
||||
"xmlEncodeEntitiesReentrant : input not UTF-8\n");
|
||||
doc->encoding = xmlStrdup(BAD_CAST "ISO-8859-1");
|
||||
if (doc != NULL)
|
||||
doc->encoding = xmlStrdup(BAD_CAST "ISO-8859-1");
|
||||
snprintf(buf, sizeof(buf), "&#%d;", *cur);
|
||||
buf[sizeof(buf) - 1] = 0;
|
||||
ptr = buf;
|
||||
@ -695,7 +696,8 @@ xmlEncodeEntitiesReentrant(xmlDocPtr doc, const xmlChar *input) {
|
||||
if ((l == 1) || (!IS_CHAR(val))) {
|
||||
xmlGenericError(xmlGenericErrorContext,
|
||||
"xmlEncodeEntitiesReentrant : char out of range\n");
|
||||
doc->encoding = xmlStrdup(BAD_CAST "ISO-8859-1");
|
||||
if (doc != NULL)
|
||||
doc->encoding = xmlStrdup(BAD_CAST "ISO-8859-1");
|
||||
snprintf(buf, sizeof(buf), "&#%d;", *cur);
|
||||
buf[sizeof(buf) - 1] = 0;
|
||||
ptr = buf;
|
||||
|
Reference in New Issue
Block a user