summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/dom/document.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/ext/dom/document.c b/ext/dom/document.c
index 034b83f399..59a0aa5ce0 100644
--- a/ext/dom/document.c
+++ b/ext/dom/document.c
@@ -123,8 +123,14 @@ static void php_dom_ctx_error_level(int level, void *ctx, const char *msg)
TSRMLS_FETCH();
parser = (xmlParserCtxtPtr) ctx;
- php_error_docref(NULL TSRMLS_CC, level, "%s in %s, line: %d", msg, parser->input->filename, parser->input->line);
+ if (parser != NULL && parser->input != NULL) {
+ if (parser->input->filename) {
+ php_error_docref(NULL TSRMLS_CC, level, "%s in %s, line: %d", msg, parser->input->filename, parser->input->line);
+ } else {
+ php_error_docref(NULL TSRMLS_CC, level, "%s in Entity, line: %d", msg, parser->input->line);
+ }
+ }
}
/* }}} end php_dom_ctx_error */