From 885d8e8733547dddad80bc0c36060e745802e74f Mon Sep 17 00:00:00 2001 From: foobar Date: Tue, 1 Mar 2005 23:26:08 +0000 Subject: [PATCH] update --- ext/standard/var_unserializer.c | 56 ++++++++++++++++++--------------- 1 file changed, 30 insertions(+), 26 deletions(-) diff --git a/ext/standard/var_unserializer.c b/ext/standard/var_unserializer.c index c5651f9c5b..48b0bfc280 100644 --- a/ext/standard/var_unserializer.c +++ b/ext/standard/var_unserializer.c @@ -1,5 +1,5 @@ -/* Generated by re2c 0.9.4 on Mon Feb 14 22:03:31 2005 */ -#line 1 "/usr/src/PHP_5_0/ext/standard/var_unserializer.re" +/* Generated by re2c 0.9.4 on Wed Mar 2 01:25:31 2005 */ +#line 1 "/usr/src/php/php_5_0/ext/standard/var_unserializer.re" /* +----------------------------------------------------------------------+ | PHP Version 5 | @@ -147,7 +147,7 @@ PHPAPI void var_destroy(php_unserialize_data_t *var_hashx) #define YYMARKER marker -#line 154 "/usr/src/PHP_5_0/ext/standard/var_unserializer.re" +#line 154 "/usr/src/php/php_5_0/ext/standard/var_unserializer.re" @@ -420,7 +420,7 @@ yy3: yyaccept = 0; if(yych == ':') goto yy87; goto yy4; yy4: -#line 581 "/usr/src/PHP_5_0/ext/standard/var_unserializer.re" +#line 585 "/usr/src/php/php_5_0/ext/standard/var_unserializer.re" { return 0; } #line 102 "" yy5: yyaccept = 0; @@ -461,7 +461,7 @@ yy13: yyaccept = 0; yy14: ++YYCURSOR; goto yy15; yy15: -#line 575 "/usr/src/PHP_5_0/ext/standard/var_unserializer.re" +#line 579 "/usr/src/php/php_5_0/ext/standard/var_unserializer.re" { /* this is the case where we have less data than planned */ php_error_docref(NULL TSRMLS_CC, E_NOTICE, "Unexpected end of serialized data"); @@ -490,7 +490,7 @@ yy21: yych = *++YYCURSOR; yy22: ++YYCURSOR; goto yy23; yy23: -#line 475 "/usr/src/PHP_5_0/ext/standard/var_unserializer.re" +#line 479 "/usr/src/php/php_5_0/ext/standard/var_unserializer.re" { size_t len, len2, len3, maxlen; int elements; @@ -619,7 +619,7 @@ yy28: yych = *++YYCURSOR; yy29: ++YYCURSOR; goto yy30; yy30: -#line 467 "/usr/src/PHP_5_0/ext/standard/var_unserializer.re" +#line 471 "/usr/src/php/php_5_0/ext/standard/var_unserializer.re" { INIT_PZVAL(*rval); @@ -651,12 +651,16 @@ yy35: yych = *++YYCURSOR; yy36: ++YYCURSOR; goto yy37; yy37: -#line 449 "/usr/src/PHP_5_0/ext/standard/var_unserializer.re" +#line 449 "/usr/src/php/php_5_0/ext/standard/var_unserializer.re" { int elements = parse_iv(start + 2); *p = YYCURSOR; + if (elements < 0) { + return 0; + } + INIT_PZVAL(*rval); Z_TYPE_PP(rval) = IS_ARRAY; ALLOC_HASHTABLE(Z_ARRVAL_PP(rval)); @@ -669,7 +673,7 @@ yy37: return finish_nested_data(UNSERIALIZE_PASSTHRU); } -#line 352 "" +#line 356 "" yy38: yych = *++YYCURSOR; if(yych == '+') goto yy39; if(yych <= '/') goto yy2; @@ -693,7 +697,7 @@ yy42: yych = *++YYCURSOR; yy43: ++YYCURSOR; goto yy44; yy44: -#line 421 "/usr/src/PHP_5_0/ext/standard/var_unserializer.re" +#line 421 "/usr/src/php/php_5_0/ext/standard/var_unserializer.re" { size_t len, maxlen; char *str; @@ -721,7 +725,7 @@ yy44: ZVAL_STRINGL(*rval, str, len, 1); return 1; } -#line 405 "" +#line 409 "" yy45: yych = *++YYCURSOR; if(yych <= '/'){ if(yych <= ','){ @@ -810,14 +814,14 @@ yy54: if(yych <= ';'){ yy55: ++YYCURSOR; goto yy56; yy56: -#line 414 "/usr/src/PHP_5_0/ext/standard/var_unserializer.re" +#line 414 "/usr/src/php/php_5_0/ext/standard/var_unserializer.re" { *p = YYCURSOR; INIT_PZVAL(*rval); ZVAL_DOUBLE(*rval, zend_strtod(start + 2, NULL)); return 1; } -#line 503 "" +#line 507 "" yy57: yych = *++YYCURSOR; if(yych <= ','){ if(yych != '+') goto yy2; @@ -877,7 +881,7 @@ yy65: yych = *++YYCURSOR; yy66: ++YYCURSOR; goto yy67; yy67: -#line 399 "/usr/src/PHP_5_0/ext/standard/var_unserializer.re" +#line 399 "/usr/src/php/php_5_0/ext/standard/var_unserializer.re" { *p = YYCURSOR; INIT_PZVAL(*rval); @@ -892,7 +896,7 @@ yy67: return 1; } -#line 580 "" +#line 584 "" yy68: yych = *++YYCURSOR; if(yych == 'N') goto yy65; goto yy2; @@ -921,14 +925,14 @@ yy72: if(yych <= '/') goto yy2; yy73: ++YYCURSOR; goto yy74; yy74: -#line 392 "/usr/src/PHP_5_0/ext/standard/var_unserializer.re" +#line 392 "/usr/src/php/php_5_0/ext/standard/var_unserializer.re" { *p = YYCURSOR; INIT_PZVAL(*rval); ZVAL_LONG(*rval, parse_iv(start + 2)); return 1; } -#line 617 "" +#line 621 "" yy75: yych = *++YYCURSOR; if(yych <= '/') goto yy2; if(yych >= '2') goto yy2; @@ -939,25 +943,25 @@ yy76: yych = *++YYCURSOR; yy77: ++YYCURSOR; goto yy78; yy78: -#line 385 "/usr/src/PHP_5_0/ext/standard/var_unserializer.re" +#line 385 "/usr/src/php/php_5_0/ext/standard/var_unserializer.re" { *p = YYCURSOR; INIT_PZVAL(*rval); ZVAL_BOOL(*rval, parse_iv(start + 2)); return 1; } -#line 635 "" +#line 639 "" yy79: ++YYCURSOR; goto yy80; yy80: -#line 378 "/usr/src/PHP_5_0/ext/standard/var_unserializer.re" +#line 378 "/usr/src/php/php_5_0/ext/standard/var_unserializer.re" { *p = YYCURSOR; INIT_PZVAL(*rval); ZVAL_NULL(*rval); return 1; } -#line 646 "" +#line 650 "" yy81: yych = *++YYCURSOR; if(yych <= ','){ if(yych != '+') goto yy2; @@ -983,7 +987,7 @@ yy84: if(yych <= '/') goto yy2; yy85: ++YYCURSOR; goto yy86; yy86: -#line 355 "/usr/src/PHP_5_0/ext/standard/var_unserializer.re" +#line 355 "/usr/src/php/php_5_0/ext/standard/var_unserializer.re" { int id; @@ -1006,7 +1010,7 @@ yy86: return 1; } -#line 696 "" +#line 700 "" yy87: yych = *++YYCURSOR; if(yych <= ','){ if(yych != '+') goto yy2; @@ -1032,7 +1036,7 @@ yy90: if(yych <= '/') goto yy2; yy91: ++YYCURSOR; goto yy92; yy92: -#line 334 "/usr/src/PHP_5_0/ext/standard/var_unserializer.re" +#line 334 "/usr/src/php/php_5_0/ext/standard/var_unserializer.re" { int id; @@ -1053,9 +1057,9 @@ yy92: return 1; } -#line 744 "" +#line 748 "" } -#line 583 "/usr/src/PHP_5_0/ext/standard/var_unserializer.re" +#line 587 "/usr/src/php/php_5_0/ext/standard/var_unserializer.re" return 0; -- 2.50.1