diff --git a/src/Symfony/Component/Yaml/Inline.php b/src/Symfony/Component/Yaml/Inline.php index 4c7d37428e474..7784576fa2a17 100644 --- a/src/Symfony/Component/Yaml/Inline.php +++ b/src/Symfony/Component/Yaml/Inline.php @@ -762,12 +762,12 @@ private static function evaluateScalar($scalar, $flags, $references = []) $raw = $scalar; $cast = (int) $scalar; - return '0' == $scalar[0] ? octdec($scalar) : (((string) $raw == (string) $cast) ? $cast : $raw); + return '0' === $scalar[0] ? octdec($scalar) : (((string) $raw == (string) $cast) ? $cast : $raw); case '-' === $scalar[0] && ctype_digit(substr($scalar, 1)): $raw = $scalar; $cast = (int) $scalar; - return '0' == $scalar[1] ? -octdec(substr($scalar, 1)) : (($raw === (string) $cast) ? $cast : $raw); + return '0' === $scalar[1] ? -octdec(substr($scalar, 1)) : (($raw === (string) $cast) ? $cast : $raw); case is_numeric($scalar): case Parser::preg_match(self::getHexRegex(), $scalar): $scalar = str_replace('_', '', $scalar); diff --git a/src/Symfony/Component/Yaml/Tests/InlineTest.php b/src/Symfony/Component/Yaml/Tests/InlineTest.php index b28d472b334b6..bedcfaf66bbb7 100644 --- a/src/Symfony/Component/Yaml/Tests/InlineTest.php +++ b/src/Symfony/Component/Yaml/Tests/InlineTest.php @@ -842,4 +842,14 @@ public function phpConstTagWithEmptyValueProvider() [['' => 'foo', 'bar' => 'ccc'], '{!php/const : foo, bar: ccc}'], ]; } + + public function testParseInvalidPositiveOctalNumber() + { + self::assertSame(342391, Inline::parse('0123456789')); + } + + public function testParseInvalidNegativeOctalNumber() + { + self::assertSame(-342391, Inline::parse('-0123456789')); + } }