summaryrefslogtreecommitdiff
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
commitbb6835f727c070efe94ca808c6b69ae62147f068 (patch)
treeea0916ba21fcf928feba5f2693b67e4b68d70fcc
parent7cac52f58fff91a7b258feb8645bc8c52ac19f4a (diff)
downloadphp-git-bb6835f727c070efe94ca808c6b69ae62147f068.tar.gz
- Fixed bug #54682 (Tidy::diagnose() NULL pointer dereference)
-rw-r--r--NEWS4
-rw-r--r--ext/tidy/tests/bug54682.phpt13
-rw-r--r--ext/tidy/tidy.c2
3 files changed, 18 insertions, 1 deletions
diff --git a/NEWS b/NEWS
index d84e39d362..3a358f5f4c 100644
--- a/NEWS
+++ b/NEWS
@@ -27,6 +27,10 @@ PHP NEWS
- SOAP
. Fixed bug #44686 (SOAP-ERROR: Parsing WSDL with references). (Dmitry)
+
+- Tidy:
+ . Fixed bug #54682 (Tidy::diagnose() NULL pointer dereference).
+ (Maksymilian Arciemowicz, Felipe)
03 Nov 2011, PHP 5.3.9RC1
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 a89011db1f..efd5028430 100644
--- a/ext/tidy/tidy.c
+++ b/ext/tidy/tidy.c
@@ -1288,7 +1288,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;
}