diff options
Diffstat (limited to 'ext/xml/xml.c')
-rw-r--r-- | ext/xml/xml.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/ext/xml/xml.c b/ext/xml/xml.c index dd8b9f7b54..5796e91f22 100644 --- a/ext/xml/xml.c +++ b/ext/xml/xml.c @@ -327,11 +327,12 @@ xml_destroy_parser(xml_parser *parser) static void xml_set_handler(char **nameBufp, zval **data) { + convert_to_string_ex(data); + if ((*data)->value.str.len > 0) { if (*nameBufp != NULL) { efree(*nameBufp); } - convert_to_string_ex(data); *nameBufp = estrndup((*data)->value.str.val, (*data)->value.str.len); } else { if (*nameBufp != NULL) { |