view vendor/nikic/php-parser/test/code/parser/scalar/encapsedNegVarOffset.test @ 13:5fb285c0d0e3

Update Drupal core to 8.4.7 via Composer. Security update; I *think* we've been lucky to get away with this so far, as we don't support self-registration which seems to be used by the so-called "drupalgeddon 2" attack that 8.4.5 was vulnerable to.
author Chris Cannam
date Mon, 23 Apr 2018 09:33:26 +0100
parents 4c8ae668cc8c
children
line wrap: on
line source
Encapsed string negative var offsets
-----
<?php
"$a[-0]";
"$a[-1]";
"$a[-0x0]";
"$a[-00]";
"$a[@@{ -PHP_INT_MAX - 1 }@@]";
-----
!!php7
array(
    0: Stmt_Expression(
        expr: Scalar_Encapsed(
            parts: array(
                0: Expr_ArrayDimFetch(
                    var: Expr_Variable(
                        name: a
                    )
                    dim: Scalar_String(
                        value: -0
                    )
                )
            )
        )
    )
    1: Stmt_Expression(
        expr: Scalar_Encapsed(
            parts: array(
                0: Expr_ArrayDimFetch(
                    var: Expr_Variable(
                        name: a
                    )
                    dim: Scalar_LNumber(
                        value: -1
                    )
                )
            )
        )
    )
    2: Stmt_Expression(
        expr: Scalar_Encapsed(
            parts: array(
                0: Expr_ArrayDimFetch(
                    var: Expr_Variable(
                        name: a
                    )
                    dim: Scalar_String(
                        value: -0x0
                    )
                )
            )
        )
    )
    3: Stmt_Expression(
        expr: Scalar_Encapsed(
            parts: array(
                0: Expr_ArrayDimFetch(
                    var: Expr_Variable(
                        name: a
                    )
                    dim: Scalar_String(
                        value: -00
                    )
                )
            )
        )
    )
    4: Stmt_Expression(
        expr: Scalar_Encapsed(
            parts: array(
                0: Expr_ArrayDimFetch(
                    var: Expr_Variable(
                        name: a
                    )
                    dim: Scalar_LNumber(
                        value: @@{ -PHP_INT_MAX - 1 }@@
                    )
                )
            )
        )
    )
)