1
0
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:
Daniel Veillard
2001-04-24 12:12:30 +00:00
parent 43dadebd41
commit 122376b8ef
2 changed files with 11 additions and 3 deletions

View File

@ -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;