@@ -610,7 +610,6 @@ PHP_METHOD(XMLReader, getParserProperty)
610610{
611611 zval * id ;
612612 zend_long property ;
613- int retval = -1 ;
614613 xmlreader_object * intern ;
615614
616615 if (zend_parse_parameters (ZEND_NUM_ARGS (), "l" , & property ) == FAILURE ) {
@@ -620,9 +619,12 @@ PHP_METHOD(XMLReader, getParserProperty)
620619 id = ZEND_THIS ;
621620
622621 intern = Z_XMLREADER_P (id );
623- if (intern -> ptr ) {
624- retval = xmlTextReaderGetParserProp (intern -> ptr ,property );
622+ if (!intern || !intern -> ptr ) {
623+ zend_throw_error (NULL , "Cannot access parser properties before loading data" );
624+ RETURN_THROWS ();
625625 }
626+
627+ int retval = xmlTextReaderGetParserProp (intern -> ptr ,property );
626628 if (retval == -1 ) {
627629 zend_argument_value_error (1 , "must be a valid parser property" );
628630 RETURN_THROWS ();
@@ -961,7 +963,6 @@ PHP_METHOD(XMLReader, setParserProperty)
961963{
962964 zval * id ;
963965 zend_long property ;
964- int retval = -1 ;
965966 bool value ;
966967 xmlreader_object * intern ;
967968
@@ -972,9 +973,12 @@ PHP_METHOD(XMLReader, setParserProperty)
972973 id = ZEND_THIS ;
973974
974975 intern = Z_XMLREADER_P (id );
975- if (intern -> ptr ) {
976- retval = xmlTextReaderSetParserProp (intern -> ptr ,property , value );
976+ if (!intern || !intern -> ptr ) {
977+ zend_throw_error (NULL , "Cannot access parser properties before loading data" );
978+ RETURN_THROWS ();
977979 }
980+
981+ int retval = xmlTextReaderSetParserProp (intern -> ptr ,property , value );
978982 if (retval == -1 ) {
979983 zend_argument_value_error (1 , "must be a valid parser property" );
980984 RETURN_THROWS ();
0 commit comments