@@ -506,6 +506,10 @@ int dom_document_config_read(dom_object *obj, zval *retval)
506
506
507
507
/* }}} */
508
508
509
+ ZEND_NORETURN static void php_dom_fatal_libxml_error (void ) {
510
+ zend_error_noreturn (E_ERROR , "Libxml error: Likely out of memory" );
511
+ }
512
+
509
513
/* {{{ URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#core-ID-2141741547
510
514
Since:
511
515
*/
@@ -533,7 +537,7 @@ PHP_METHOD(DOMDocument, createElement)
533
537
534
538
node = xmlNewDocNode (docp , NULL , (xmlChar * ) name , (xmlChar * ) value );
535
539
if (!node ) {
536
- RETURN_FALSE ;
540
+ php_dom_fatal_libxml_error () ;
537
541
}
538
542
539
543
DOM_RET_OBJ (node , & ret , intern );
@@ -558,9 +562,9 @@ PHP_METHOD(DOMDocument, createDocumentFragment)
558
562
559
563
DOM_GET_OBJ (docp , id , xmlDocPtr , intern );
560
564
561
- node = xmlNewDocFragment (docp );
565
+ node = xmlNewDocFragment (docp );
562
566
if (!node ) {
563
- RETURN_FALSE ;
567
+ php_dom_fatal_libxml_error () ;
564
568
}
565
569
566
570
DOM_RET_OBJ (node , & ret , intern );
@@ -589,7 +593,7 @@ PHP_METHOD(DOMDocument, createTextNode)
589
593
590
594
node = xmlNewDocText (docp , (xmlChar * ) value );
591
595
if (!node ) {
592
- RETURN_FALSE ;
596
+ php_dom_fatal_libxml_error () ;
593
597
}
594
598
595
599
DOM_RET_OBJ (node , & ret , intern );
@@ -618,7 +622,7 @@ PHP_METHOD(DOMDocument, createComment)
618
622
619
623
node = xmlNewDocComment (docp , (xmlChar * ) value );
620
624
if (!node ) {
621
- RETURN_FALSE ;
625
+ php_dom_fatal_libxml_error () ;
622
626
}
623
627
624
628
DOM_RET_OBJ (node , & ret , intern );
@@ -647,7 +651,7 @@ PHP_METHOD(DOMDocument, createCDATASection)
647
651
648
652
node = xmlNewCDataBlock (docp , (xmlChar * ) value , value_len );
649
653
if (!node ) {
650
- RETURN_FALSE ;
654
+ php_dom_fatal_libxml_error () ;
651
655
}
652
656
653
657
DOM_RET_OBJ (node , & ret , intern );
@@ -681,7 +685,7 @@ PHP_METHOD(DOMDocument, createProcessingInstruction)
681
685
682
686
node = xmlNewPI ((xmlChar * ) name , (xmlChar * ) value );
683
687
if (!node ) {
684
- RETURN_FALSE ;
688
+ php_dom_fatal_libxml_error () ;
685
689
}
686
690
687
691
node -> doc = docp ;
@@ -717,7 +721,7 @@ PHP_METHOD(DOMDocument, createAttribute)
717
721
718
722
node = xmlNewDocProp (docp , (xmlChar * ) name , NULL );
719
723
if (!node ) {
720
- RETURN_FALSE ;
724
+ php_dom_fatal_libxml_error () ;
721
725
}
722
726
723
727
DOM_RET_OBJ ((xmlNodePtr ) node , & ret , intern );
@@ -752,7 +756,7 @@ PHP_METHOD(DOMDocument, createEntityReference)
752
756
753
757
node = xmlNewReference (docp , (xmlChar * ) name );
754
758
if (!node ) {
755
- RETURN_FALSE ;
759
+ php_dom_fatal_libxml_error () ;
756
760
}
757
761
758
762
DOM_RET_OBJ ((xmlNodePtr ) node , & ret , intern );
0 commit comments