summaryrefslogtreecommitdiff
path: root/ext/tidy
diff options
context:
space:
mode:
authorFelipe Pena <felipe@php.net>2011-11-15 15:16:20 +0000
committerFelipe Pena <felipe@php.net>2011-11-15 15:16:20 +0000
commit236120d80e266dc40d9542486fc31e0f8e0b9344 (patch)
tree342ff4ef8ee01a77df4136ce589260bbaff77fa6 /ext/tidy
parentfa4f7411a39251b657290de09255b50fd82d93c1 (diff)
downloadphp-git-236120d80e266dc40d9542486fc31e0f8e0b9344.tar.gz
- Fixed bug #54682 (Tidy::diagnose() NULL pointer dereference)
Diffstat (limited to 'ext/tidy')
-rw-r--r--ext/tidy/tests/bug54682.phpt13
-rw-r--r--ext/tidy/tidy.c2
2 files changed, 14 insertions, 1 deletions
diff --git a/ext/tidy/tests/bug54682.phpt b/ext/tidy/tests/bug54682.phpt
new file mode 100644
index 0000000000..99f40cf9d2
--- /dev/null
+++ b/ext/tidy/tests/bug54682.phpt
@@ -0,0 +1,13 @@
+--TEST--
+Tidy::diagnose() NULL pointer dereference
+--SKIPIF--
+<?php if (!extension_loaded("tidy")) print "skip"; ?>
+--FILE--
+<?php
+
+$nx = new Tidy("*");
+$nx->diagnose();
+
+?>
+--EXPECTF--
+Warning: tidy::__construct(): Cannot Load '*' into memory in %s on line %d
diff --git a/ext/tidy/tidy.c b/ext/tidy/tidy.c
index 1ba910c957..d06bbcdb2e 100644
--- a/ext/tidy/tidy.c
+++ b/ext/tidy/tidy.c
@@ -1336,7 +1336,7 @@ static PHP_FUNCTION(tidy_diagnose)
{
TIDY_FETCH_OBJECT;
- if (tidyRunDiagnostics(obj->ptdoc->doc) >= 0) {
+ if (tidyStatus(obj->ptdoc->doc) != 0 && tidyRunDiagnostics(obj->ptdoc->doc) >= 0) {
tidy_doc_update_properties(obj TSRMLS_CC);
RETURN_TRUE;
}