]> granicus.if.org Git - php/commitdiff
Merge branch 'PHP-7.1' into PHP-7.2
authorNikita Popov <nikita.ppv@gmail.com>
Mon, 2 Jul 2018 15:28:45 +0000 (17:28 +0200)
committerNikita Popov <nikita.ppv@gmail.com>
Mon, 2 Jul 2018 15:29:32 +0000 (17:29 +0200)
1  2 
NEWS
ext/standard/var_unserializer.c
ext/standard/var_unserializer.re

diff --cc NEWS
Simple merge
index 108887580f8e86d4c91910b3cf62558c74c0c835,218a5c2273332e08fdfd5ed3633de4ea43eba69b..8c16a555fd2ecdc1f5f728109c93adfc58ec1e9c
@@@ -645,7 -609,7 +651,7 @@@ static int php_var_unserialize_internal
        start = cursor;
  
  
- #line 649 "ext/standard/var_unserializer.c"
 -#line 613 "ext/standard/var_unserializer.c"
++#line 655 "ext/standard/var_unserializer.c"
  {
        YYCTYPE yych;
        static const unsigned char yybm[] = {
  yy2:
        ++YYCURSOR;
  yy3:
- #line 1036 "ext/standard/var_unserializer.re"
 -#line 988 "ext/standard/var_unserializer.re"
++#line 1042 "ext/standard/var_unserializer.re"
        { return 0; }
- #line 709 "ext/standard/var_unserializer.c"
 -#line 673 "ext/standard/var_unserializer.c"
++#line 715 "ext/standard/var_unserializer.c"
  yy4:
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych == ':') goto yy17;
@@@ -752,13 -716,13 +758,13 @@@ yy14
        goto yy3;
  yy15:
        ++YYCURSOR;
- #line 1030 "ext/standard/var_unserializer.re"
 -#line 982 "ext/standard/var_unserializer.re"
++#line 1036 "ext/standard/var_unserializer.re"
        {
        /* this is the case where we have less data than planned */
        php_error_docref(NULL, E_NOTICE, "Unexpected end of serialized data");
        return 0; /* not sure if it should be 0 or 1 here? */
  }
- #line 762 "ext/standard/var_unserializer.c"
 -#line 726 "ext/standard/var_unserializer.c"
++#line 768 "ext/standard/var_unserializer.c"
  yy17:
        yych = *++YYCURSOR;
        if (yybm[0+yych] & 128) {
@@@ -769,22 -734,29 +775,22 @@@ yy18
        goto yy3;
  yy19:
        ++YYCURSOR;
- #line 702 "ext/standard/var_unserializer.re"
 -#line 666 "ext/standard/var_unserializer.re"
++#line 708 "ext/standard/var_unserializer.re"
        {
        *p = YYCURSOR;
        ZVAL_NULL(rval);
        return 1;
  }
- #line 779 "ext/standard/var_unserializer.c"
 -#line 744 "ext/standard/var_unserializer.c"
++#line 785 "ext/standard/var_unserializer.c"
  yy21:
        yych = *++YYCURSOR;
 -      if (yych <= ',') {
 -              if (yych == '+') goto yy33;
 -              goto yy18;
 -      } else {
 -              if (yych <= '-') goto yy33;
 -              if (yych <= '/') goto yy18;
 -              if (yych <= '9') goto yy34;
 -              goto yy18;
 -      }
 +      if (yych <= '/') goto yy18;
 +      if (yych <= '9') goto yy32;
 +      goto yy18;
  yy22:
        yych = *++YYCURSOR;
 -      if (yych == '+') goto yy36;
        if (yych <= '/') goto yy18;
 -      if (yych <= '9') goto yy37;
 +      if (yych <= '9') goto yy34;
        goto yy18;
  yy23:
        yych = *++YYCURSOR;
@@@ -965,16 -981,16 +971,16 @@@ yy53
        if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
        yych = *YYCURSOR;
        if (yych <= '/') goto yy18;
 -      if (yych <= '9') goto yy60;
 -      if (yych <= ':') goto yy81;
 +      if (yych <= '9') goto yy53;
 +      if (yych <= ':') goto yy74;
        goto yy18;
 -yy62:
 +yy55:
        yych = *++YYCURSOR;
 -      if (yych == '"') goto yy82;
 +      if (yych == '"') goto yy75;
        goto yy18;
 -yy63:
 +yy56:
        ++YYCURSOR;
- #line 653 "ext/standard/var_unserializer.re"
 -#line 617 "ext/standard/var_unserializer.re"
++#line 659 "ext/standard/var_unserializer.re"
        {
        zend_long id;
  
  
        return 1;
  }
- #line 1003 "ext/standard/var_unserializer.c"
 -#line 1019 "ext/standard/var_unserializer.c"
 -yy65:
++#line 1009 "ext/standard/var_unserializer.c"
 +yy58:
        yych = *++YYCURSOR;
 -      if (yych == '"') goto yy84;
 +      if (yych == '"') goto yy77;
        goto yy18;
 -yy66:
 +yy59:
        yych = *++YYCURSOR;
 -      if (yych == '{') goto yy86;
 +      if (yych == '{') goto yy79;
        goto yy18;
 -yy67:
 +yy60:
        ++YYCURSOR;
- #line 708 "ext/standard/var_unserializer.re"
 -#line 672 "ext/standard/var_unserializer.re"
++#line 714 "ext/standard/var_unserializer.re"
        {
        *p = YYCURSOR;
        ZVAL_BOOL(rval, parse_iv(start + 2));
        return 1;
  }
- #line 1020 "ext/standard/var_unserializer.c"
 -#line 1036 "ext/standard/var_unserializer.c"
 -yy69:
++#line 1026 "ext/standard/var_unserializer.c"
 +yy62:
        ++YYCURSOR;
 -      if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
 +      if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
        yych = *YYCURSOR;
        if (yych <= ';') {
                if (yych <= '/') goto yy18;
                        goto yy18;
                }
        }
 -yy71:
 +yy64:
        ++YYCURSOR;
- #line 756 "ext/standard/var_unserializer.re"
 -#line 720 "ext/standard/var_unserializer.re"
++#line 762 "ext/standard/var_unserializer.re"
        {
  #if SIZEOF_ZEND_LONG == 4
  use_double:
        ZVAL_DOUBLE(rval, zend_strtod((const char *)start + 2, NULL));
        return 1;
  }
- #line 1049 "ext/standard/var_unserializer.c"
 -#line 1065 "ext/standard/var_unserializer.c"
 -yy73:
++#line 1055 "ext/standard/var_unserializer.c"
 +yy66:
        yych = *++YYCURSOR;
        if (yych <= ',') {
 -              if (yych == '+') goto yy88;
 +              if (yych == '+') goto yy81;
                goto yy18;
        } else {
 -              if (yych <= '-') goto yy88;
 +              if (yych <= '-') goto yy81;
                if (yych <= '/') goto yy18;
 -              if (yych <= '9') goto yy89;
 +              if (yych <= '9') goto yy82;
                goto yy18;
        }
 -yy74:
 +yy67:
        yych = *++YYCURSOR;
 -      if (yych == 'F') goto yy91;
 +      if (yych == 'F') goto yy84;
        goto yy18;
 -yy75:
 +yy68:
        yych = *++YYCURSOR;
 -      if (yych == 'N') goto yy91;
 +      if (yych == 'N') goto yy84;
        goto yy18;
 -yy76:
 +yy69:
        ++YYCURSOR;
- #line 714 "ext/standard/var_unserializer.re"
 -#line 678 "ext/standard/var_unserializer.re"
++#line 720 "ext/standard/var_unserializer.re"
        {
  #if SIZEOF_ZEND_LONG == 4
        int digits = YYCURSOR - start - 3;
        ZVAL_LONG(rval, parse_iv(start + 2));
        return 1;
  }
- #line 1097 "ext/standard/var_unserializer.c"
 -#line 1113 "ext/standard/var_unserializer.c"
 -yy78:
++#line 1103 "ext/standard/var_unserializer.c"
 +yy71:
        yych = *++YYCURSOR;
 -      if (yych == '"') goto yy92;
 +      if (yych == '"') goto yy85;
        goto yy18;
 -yy79:
 +yy72:
        ++YYCURSOR;
- #line 678 "ext/standard/var_unserializer.re"
 -#line 642 "ext/standard/var_unserializer.re"
++#line 684 "ext/standard/var_unserializer.re"
        {
        zend_long id;
  
  
        return 1;
  }
- #line 1128 "ext/standard/var_unserializer.c"
 -#line 1144 "ext/standard/var_unserializer.c"
 -yy81:
++#line 1134 "ext/standard/var_unserializer.c"
 +yy74:
        yych = *++YYCURSOR;
 -      if (yych == '"') goto yy94;
 +      if (yych == '"') goto yy87;
        goto yy18;
 -yy82:
 +yy75:
        ++YYCURSOR;
- #line 878 "ext/standard/var_unserializer.re"
 -#line 830 "ext/standard/var_unserializer.re"
++#line 884 "ext/standard/var_unserializer.re"
        {
        size_t len, len2, len3, maxlen;
        zend_long elements;
  
        return object_common2(UNSERIALIZE_PASSTHRU, elements);
  }
- #line 1287 "ext/standard/var_unserializer.c"
 -#line 1303 "ext/standard/var_unserializer.c"
 -yy84:
++#line 1293 "ext/standard/var_unserializer.c"
 +yy77:
        ++YYCURSOR;
- #line 803 "ext/standard/var_unserializer.re"
 -#line 761 "ext/standard/var_unserializer.re"
++#line 809 "ext/standard/var_unserializer.re"
        {
        size_t len, maxlen;
        zend_string *str;
        ZVAL_STR(rval, str);
        return 1;
  }
- #line 1324 "ext/standard/var_unserializer.c"
 -#line 1340 "ext/standard/var_unserializer.c"
 -yy86:
++#line 1330 "ext/standard/var_unserializer.c"
 +yy79:
        ++YYCURSOR;
- #line 837 "ext/standard/var_unserializer.re"
 -#line 795 "ext/standard/var_unserializer.re"
++#line 843 "ext/standard/var_unserializer.re"
        {
        zend_long elements = parse_iv(start + 2);
        /* use iv() not uiv() in order to check data range */
  
        return finish_nested_data(UNSERIALIZE_PASSTHRU);
  }
- #line 1357 "ext/standard/var_unserializer.c"
 -#line 1367 "ext/standard/var_unserializer.c"
 -yy88:
++#line 1363 "ext/standard/var_unserializer.c"
 +yy81:
        yych = *++YYCURSOR;
 -      if (yych <= ',') {
 -              if (yych == '+') goto yy96;
 -              goto yy18;
 -      } else {
 -              if (yych <= '-') goto yy96;
 -              if (yych <= '/') goto yy18;
 -              if (yych >= ':') goto yy18;
 -      }
 -yy89:
 +      if (yych <= '/') goto yy18;
 +      if (yych >= ':') goto yy18;
 +yy82:
        ++YYCURSOR;
        if (YYLIMIT <= YYCURSOR) YYFILL(1);
        yych = *YYCURSOR;
        if (yych <= '/') goto yy18;
 -      if (yych <= '9') goto yy89;
 -      if (yych == ';') goto yy71;
 +      if (yych <= '9') goto yy82;
 +      if (yych == ';') goto yy64;
        goto yy18;
 -yy91:
 +yy84:
        yych = *++YYCURSOR;
 -      if (yych == ';') goto yy97;
 +      if (yych == ';') goto yy89;
        goto yy18;
 -yy92:
 +yy85:
        ++YYCURSOR;
- #line 867 "ext/standard/var_unserializer.re"
 -#line 819 "ext/standard/var_unserializer.re"
++#line 873 "ext/standard/var_unserializer.re"
        {
        zend_long elements;
      if (!var_hash) return 0;
        }
        return object_common2(UNSERIALIZE_PASSTHRU, elements);
  }
- #line 1387 "ext/standard/var_unserializer.c"
 -#line 1403 "ext/standard/var_unserializer.c"
 -yy94:
++#line 1393 "ext/standard/var_unserializer.c"
 +yy87:
        ++YYCURSOR;
- #line 765 "ext/standard/var_unserializer.re"
 -#line 729 "ext/standard/var_unserializer.re"
++#line 771 "ext/standard/var_unserializer.re"
        {
        size_t len, maxlen;
        char *str;
        YYCURSOR += 2;
        *p = YYCURSOR;
  
 -      ZVAL_STRINGL(rval, str, len);
 +      if (len == 0) {
 +              ZVAL_EMPTY_STRING(rval);
 +      } else if (len == 1) {
 +              ZVAL_INTERNED_STR(rval, ZSTR_CHAR((zend_uchar)*str));
 +      } else {
 +              ZVAL_STRINGL(rval, str, len);
 +      }
        return 1;
  }
- #line 1428 "ext/standard/var_unserializer.c"
 -#line 1438 "ext/standard/var_unserializer.c"
 -yy96:
 -      yych = *++YYCURSOR;
 -      if (yych <= '/') goto yy18;
 -      if (yych <= '9') goto yy89;
 -      goto yy18;
 -yy97:
++#line 1434 "ext/standard/var_unserializer.c"
 +yy89:
        ++YYCURSOR;
- #line 740 "ext/standard/var_unserializer.re"
 -#line 704 "ext/standard/var_unserializer.re"
++#line 746 "ext/standard/var_unserializer.re"
        {
        *p = YYCURSOR;
  
  
        return 1;
  }
- #line 1447 "ext/standard/var_unserializer.c"
 -#line 1462 "ext/standard/var_unserializer.c"
++#line 1453 "ext/standard/var_unserializer.c"
  }
- #line 1038 "ext/standard/var_unserializer.re"
 -#line 990 "ext/standard/var_unserializer.re"
++#line 1044 "ext/standard/var_unserializer.re"
  
  
        return 0;
Simple merge