@@ -692,7 +692,11 @@ private static function evaluateScalar($scalar, $flags, $references = [])
692692 return null ;
693693 case 0 === strpos ($ scalar , '!php/object ' ):
694694 if (self ::$ objectSupport ) {
695- return unserialize (self ::parseScalar (substr ($ scalar , 12 )));
695+ if (false === $ str = substr ($ scalar , 12 )) {
696+ throw new ParseException ('The !php/object tag requires a value. ' , self ::$ parsedLineNumber + 1 , $ scalar , self ::$ parsedFilename );
697+ }
698+
699+ return unserialize (self ::parseScalar ($ str ));
696700 }
697701
698702 if (self ::$ exceptionOnInvalidType ) {
@@ -717,8 +721,12 @@ private static function evaluateScalar($scalar, $flags, $references = [])
717721 return null ;
718722 case 0 === strpos ($ scalar , '!php/const ' ):
719723 if (self ::$ constantSupport ) {
724+ if (false === $ const = substr ($ scalar , 11 )) {
725+ throw new ParseException ('The !php/const tag requires a value. ' , self ::$ parsedLineNumber + 1 , $ scalar , self ::$ parsedFilename );
726+ }
727+
720728 $ i = 0 ;
721- if (\defined ($ const = self ::parseScalar (substr ( $ scalar , 11 ) , 0 , null , $ i , false ))) {
729+ if (\defined ($ const = self ::parseScalar ($ const , 0 , null , $ i , false ))) {
722730 return \constant ($ const );
723731 }
724732
0 commit comments