diff options
author | P. J. McDermott <pjm@nac.net> | 2013-02-20 08:06:16 (EST) |
---|---|---|
committer | P. J. McDermott <pjm@nac.net> | 2013-02-20 08:06:16 (EST) |
commit | 4c79651326eeabc2a53534a3b8b1b5aff885dd5a (patch) | |
tree | 7adbc176b69b290629ca1bb6e3408f41132e3498 /src/xml.c | |
parent | b87ba33f92354fca6d9cbb8ad76f62bc01233787 (diff) | |
download | overworld-rpg-4c79651326eeabc2a53534a3b8b1b5aff885dd5a.zip overworld-rpg-4c79651326eeabc2a53534a3b8b1b5aff885dd5a.tar.gz overworld-rpg-4c79651326eeabc2a53534a3b8b1b5aff885dd5a.tar.bz2 |
Prevent segmentation faults in some places.
Diffstat (limited to 'src/xml.c')
-rw-r--r-- | src/xml.c | 12 |
1 files changed, 9 insertions, 3 deletions
@@ -126,9 +126,15 @@ xml_node_pop(XML_Parser p) free(n); n = (struct xml_node *) XML_GetUserData(p); - XML_SetStartElementHandler(p, n->start); - XML_SetEndElementHandler(p, n->end); - XML_SetCharacterDataHandler(p, n->charhndl); + if (n == NULL) { + XML_SetStartElementHandler(p, NULL); + XML_SetEndElementHandler(p, NULL); + XML_SetCharacterDataHandler(p, NULL); + } else { + XML_SetStartElementHandler(p, n->start); + XML_SetEndElementHandler(p, n->end); + XML_SetCharacterDataHandler(p, n->charhndl); + } return data; } |