summaryrefslogtreecommitdiff
path: root/ext/tidy/tidy.c
diff options
context:
space:
mode:
authorNikita Popov <nikita.ppv@gmail.com>2020-10-22 16:05:34 +0200
committerNikita Popov <nikita.ppv@gmail.com>2020-10-22 16:05:34 +0200
commit85d9a1ca6ef00e8de77801bcadf3468aada16b90 (patch)
tree3e9608a8460a989671af6bcb6b36fb9f3c6eb09a /ext/tidy/tidy.c
parent4ea01bdc67e9e39e18cfe732578647fa2382b3b0 (diff)
parentd4bf0799b80d8bbd128e9e41624779d844033a42 (diff)
downloadphp-git-85d9a1ca6ef00e8de77801bcadf3468aada16b90.tar.gz
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3: Don't crash on uninitialized tidy object
Diffstat (limited to 'ext/tidy/tidy.c')
-rw-r--r--ext/tidy/tidy.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/ext/tidy/tidy.c b/ext/tidy/tidy.c
index bf38faf224..a1a5184dd5 100644
--- a/ext/tidy/tidy.c
+++ b/ext/tidy/tidy.c
@@ -66,6 +66,13 @@
} \
obj = Z_TIDY_P(object); \
+#define TIDY_FETCH_INITIALIZED_OBJECT \
+ TIDY_FETCH_OBJECT; \
+ if (!obj->ptdoc->initialized) { \
+ zend_throw_error(NULL, "tidy object is not initialized"); \
+ return; \
+ }
+
#define TIDY_FETCH_ONLY_OBJECT \
PHPTidyObj *obj; \
TIDY_SET_CONTEXT; \
@@ -1486,7 +1493,7 @@ static PHP_FUNCTION(tidy_get_status)
Get the Detected HTML version for the specified document. */
static PHP_FUNCTION(tidy_get_html_ver)
{
- TIDY_FETCH_OBJECT;
+ TIDY_FETCH_INITIALIZED_OBJECT;
RETURN_LONG(tidyDetectedHtmlVersion(obj->ptdoc->doc));
}
@@ -1496,7 +1503,7 @@ static PHP_FUNCTION(tidy_get_html_ver)
Indicates if the document is a XHTML document. */
static PHP_FUNCTION(tidy_is_xhtml)
{
- TIDY_FETCH_OBJECT;
+ TIDY_FETCH_INITIALIZED_OBJECT;
RETURN_BOOL(tidyDetectedXhtml(obj->ptdoc->doc));
}
@@ -1506,7 +1513,7 @@ static PHP_FUNCTION(tidy_is_xhtml)
Indicates if the document is a generic (non HTML/XHTML) XML document. */
static PHP_FUNCTION(tidy_is_xml)
{
- TIDY_FETCH_OBJECT;
+ TIDY_FETCH_INITIALIZED_OBJECT;
RETURN_BOOL(tidyDetectedGenericXml(obj->ptdoc->doc));
}