diff options
author | foobar <sniper@php.net> | 2005-03-01 09:26:28 +0000 |
---|---|---|
committer | foobar <sniper@php.net> | 2005-03-01 09:26:28 +0000 |
commit | c61608ef35592aa77b29b8e3a28bb98ef6d0873f (patch) | |
tree | f736a81e3aee65ed2b992cacd048af4da2c720dc /ext/standard/var_unserializer.c | |
parent | 0b7435f59070b065ec3d3325f84e509435269423 (diff) | |
download | php-git-c61608ef35592aa77b29b8e3a28bb98ef6d0873f.tar.gz |
update
Diffstat (limited to 'ext/standard/var_unserializer.c')
-rw-r--r-- | ext/standard/var_unserializer.c | 34 |
1 files changed, 19 insertions, 15 deletions
diff --git a/ext/standard/var_unserializer.c b/ext/standard/var_unserializer.c index 930ae2f8f6..5da18ab387 100644 --- a/ext/standard/var_unserializer.c +++ b/ext/standard/var_unserializer.c @@ -1,4 +1,4 @@ -/* Generated by re2c 0.9.4 on Thu Feb 24 19:48:52 2005 */ +/* Generated by re2c 0.9.4 on Tue Mar 1 03:49:26 2005 */ #line 1 "/usr/src/php/php5/ext/standard/var_unserializer.re" /* +----------------------------------------------------------------------+ @@ -448,7 +448,7 @@ yy3: yyaccept = 0; if(yych == ':') goto yy87; goto yy4; yy4: -#line 621 "/usr/src/php/php5/ext/standard/var_unserializer.re" +#line 625 "/usr/src/php/php5/ext/standard/var_unserializer.re" { return 0; } #line 103 "<stdout>" yy5: yyaccept = 0; @@ -489,7 +489,7 @@ yy13: yyaccept = 0; yy14: ++YYCURSOR; goto yy15; yy15: -#line 615 "/usr/src/php/php5/ext/standard/var_unserializer.re" +#line 619 "/usr/src/php/php5/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"); @@ -518,7 +518,7 @@ yy21: yych = *++YYCURSOR; yy22: ++YYCURSOR; goto yy23; yy23: -#line 503 "/usr/src/php/php5/ext/standard/var_unserializer.re" +#line 507 "/usr/src/php/php5/ext/standard/var_unserializer.re" { size_t len, len2, len3, maxlen; int elements; @@ -659,7 +659,7 @@ yy28: yych = *++YYCURSOR; yy29: ++YYCURSOR; goto yy30; yy30: -#line 495 "/usr/src/php/php5/ext/standard/var_unserializer.re" +#line 499 "/usr/src/php/php5/ext/standard/var_unserializer.re" { INIT_PZVAL(*rval); @@ -697,6 +697,10 @@ yy37: *p = YYCURSOR; + if (elements < 0) { + return 0; + } + INIT_PZVAL(*rval); Z_TYPE_PP(rval) = IS_ARRAY; ALLOC_HASHTABLE(Z_ARRVAL_PP(rval)); @@ -709,7 +713,7 @@ yy37: return finish_nested_data(UNSERIALIZE_PASSTHRU); } -#line 365 "<stdout>" +#line 369 "<stdout>" yy38: yych = *++YYCURSOR; if(yych == '+') goto yy39; if(yych <= '/') goto yy2; @@ -761,7 +765,7 @@ yy44: ZVAL_STRINGL(*rval, str, len, 1); return 1; } -#line 418 "<stdout>" +#line 422 "<stdout>" yy45: yych = *++YYCURSOR; if(yych <= '/'){ if(yych <= ','){ @@ -857,7 +861,7 @@ yy56: ZVAL_DOUBLE(*rval, zend_strtod(start + 2, NULL)); return 1; } -#line 516 "<stdout>" +#line 520 "<stdout>" yy57: yych = *++YYCURSOR; if(yych <= ','){ if(yych != '+') goto yy2; @@ -932,7 +936,7 @@ yy67: return 1; } -#line 593 "<stdout>" +#line 597 "<stdout>" yy68: yych = *++YYCURSOR; if(yych == 'N') goto yy65; goto yy2; @@ -968,7 +972,7 @@ yy74: ZVAL_LONG(*rval, parse_iv(start + 2)); return 1; } -#line 630 "<stdout>" +#line 634 "<stdout>" yy75: yych = *++YYCURSOR; if(yych <= '/') goto yy2; if(yych >= '2') goto yy2; @@ -986,7 +990,7 @@ yy78: ZVAL_BOOL(*rval, parse_iv(start + 2)); return 1; } -#line 648 "<stdout>" +#line 652 "<stdout>" yy79: ++YYCURSOR; goto yy80; yy80: @@ -997,7 +1001,7 @@ yy80: ZVAL_NULL(*rval); return 1; } -#line 659 "<stdout>" +#line 663 "<stdout>" yy81: yych = *++YYCURSOR; if(yych <= ','){ if(yych != '+') goto yy2; @@ -1046,7 +1050,7 @@ yy86: return 1; } -#line 709 "<stdout>" +#line 713 "<stdout>" yy87: yych = *++YYCURSOR; if(yych <= ','){ if(yych != '+') goto yy2; @@ -1093,9 +1097,9 @@ yy92: return 1; } -#line 757 "<stdout>" +#line 761 "<stdout>" } -#line 623 "/usr/src/php/php5/ext/standard/var_unserializer.re" +#line 627 "/usr/src/php/php5/ext/standard/var_unserializer.re" return 0; |