Skip to content

Commit 900f0ca

Browse files
icy17nielsdos
authored andcommitted
Fix null pointer dereferences in case of allocation failure
Closes GH-12506.
1 parent aa45df4 commit 900f0ca

File tree

4 files changed

+16
-0
lines changed

4 files changed

+16
-0
lines changed

NEWS

+7
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ PHP NEWS
88

99
- DOM:
1010
. Fix registerNodeClass with abstract class crashing. (nielsdos)
11+
. Add missing NULL pointer error check. (icy17)
1112

1213
- Fiber:
1314
. Fixed bug GH-11121 (ReflectionFiber segfault). (danog, trowski, bwoebi)
@@ -39,6 +40,12 @@ PHP NEWS
3940
. Fixed bug #75708 (getimagesize with "&$imageinfo" fails on StreamWrappers).
4041
(Jakub Zelenka)
4142

43+
- XMLReader:
44+
. Add missing NULL pointer error check. (icy17)
45+
46+
- XMLWriter:
47+
. Add missing NULL pointer error check. (icy17)
48+
4249
- XSL:
4350
. Add missing module dependency. (nielsdos)
4451

ext/dom/document.c

+3
Original file line numberDiff line numberDiff line change
@@ -1148,6 +1148,9 @@ char *_dom_get_valid_file_path(char *source, char *resolved_path, int resolved_p
11481148
int isFileUri = 0;
11491149

11501150
uri = xmlCreateURI();
1151+
if (uri == NULL) {
1152+
return NULL;
1153+
}
11511154
escsource = xmlURIEscapeStr((xmlChar *) source, (xmlChar *) ":");
11521155
xmlParseURIReference(uri, (char *) escsource);
11531156
xmlFree(escsource);

ext/xmlreader/php_xmlreader.c

+3
Original file line numberDiff line numberDiff line change
@@ -211,6 +211,9 @@ char *_xmlreader_get_valid_file_path(char *source, char *resolved_path, int reso
211211
int isFileUri = 0;
212212

213213
uri = xmlCreateURI();
214+
if (uri == NULL) {
215+
return NULL;
216+
}
214217
escsource = xmlURIEscapeStr((xmlChar *)source, (xmlChar *)":");
215218
xmlParseURIReference(uri, (const char *)escsource);
216219
xmlFree(escsource);

ext/xmlwriter/php_xmlwriter.c

+3
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,9 @@ static char *_xmlwriter_get_valid_file_path(char *source, char *resolved_path, i
110110
int isFileUri = 0;
111111

112112
uri = xmlCreateURI();
113+
if (uri == NULL) {
114+
return NULL;
115+
}
113116
escsource = xmlURIEscapeStr((xmlChar *)source, (xmlChar *) ":");
114117
xmlParseURIReference(uri, (char *)escsource);
115118
xmlFree(escsource);

0 commit comments

Comments
 (0)