diff --git a/ChangeLog b/ChangeLog index 20f484a0..2232ae09 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Tue Apr 24 14:10:38 CEST 2001 Daniel Veillard + + * entities.c: xmlEncodeEntitiesReentrant fixed a few accesses + to doc where it wasn't checked against NULL reported by + Jens Laas + Tue Apr 24 13:21:36 CEST 2001 Daniel Veillard * HTMLparser.c: Jonas Borgström patch, the , and elements diff --git a/entities.c b/entities.c index 22971cc8..3e6b581d 100644 --- a/entities.c +++ b/entities.c @@ -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ørn Reese 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;