diff options
author | foobar <sniper@php.net> | 2005-04-14 22:38:29 +0000 |
---|---|---|
committer | foobar <sniper@php.net> | 2005-04-14 22:38:29 +0000 |
commit | 519f381fca1bffaff1b8b5a3b02824c3110086c1 (patch) | |
tree | 904e4d18a5a24ce147d9d5899db740fcc5889099 /ext/standard/var_unserializer.c | |
parent | 172f3af8edd7e44f0f889bd8c2ffb54c324cb02b (diff) | |
download | php-git-519f381fca1bffaff1b8b5a3b02824c3110086c1.tar.gz |
- Regenerated with re2c 0.9.6 (fixes severe bugs)
Diffstat (limited to 'ext/standard/var_unserializer.c')
-rw-r--r-- | ext/standard/var_unserializer.c | 82 |
1 files changed, 44 insertions, 38 deletions
diff --git a/ext/standard/var_unserializer.c b/ext/standard/var_unserializer.c index 5517f0a4ef..1abe4eeec4 100644 --- a/ext/standard/var_unserializer.c +++ b/ext/standard/var_unserializer.c @@ -1,5 +1,5 @@ -/* Generated by re2c 0.9.4 on Thu Mar 10 01:10:07 2005 */ -#line 1 "/usr/src/php-cvs/ext/standard/var_unserializer.re" +/* Generated by re2c 0.9.6 on Fri Apr 15 01:37:39 2005 */ +#line 1 "/usr/src/php/php5/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 155 "/usr/src/php-cvs/ext/standard/var_unserializer.re" +#line 155 "/usr/src/php/php5/ext/standard/var_unserializer.re" @@ -393,7 +393,7 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER) 0, 0, 0, 0, 0, 0, 0, 0, }; goto yy0; -yy1: ++YYCURSOR; + ++YYCURSOR; yy0: if((YYLIMIT - YYCURSOR) < 7) YYFILL(7); yych = *YYCURSOR; @@ -448,7 +448,7 @@ yy3: yyaccept = 0; if(yych == ':') goto yy87; goto yy4; yy4: -#line 625 "/usr/src/php-cvs/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 619 "/usr/src/php-cvs/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"); @@ -499,17 +499,23 @@ yy15: yy16: yych = *++YYCURSOR; goto yy4; yy17: yych = *++YYCURSOR; - if(yybm[0+yych] & 128) goto yy19; + if(yybm[0+yych] & 128) { + goto yy19; + } if(yych != '+') goto yy2; goto yy18; yy18: yych = *++YYCURSOR; - if(yybm[0+yych] & 128) goto yy19; + if(yybm[0+yych] & 128) { + goto yy19; + } goto yy2; yy19: ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); + if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; goto yy20; -yy20: if(yybm[0+yych] & 128) goto yy19; +yy20: if(yybm[0+yych] & 128) { + goto yy19; + } if(yych != ':') goto yy2; goto yy21; yy21: yych = *++YYCURSOR; @@ -518,7 +524,7 @@ yy21: yych = *++YYCURSOR; yy22: ++YYCURSOR; goto yy23; yy23: -#line 507 "/usr/src/php-cvs/ext/standard/var_unserializer.re" +#line 507 "/usr/src/php/php5/ext/standard/var_unserializer.re" { size_t len, len2, len3, maxlen; long elements; @@ -630,7 +636,7 @@ yy23: return object_common2(UNSERIALIZE_PASSTHRU, elements); } -#line 284 "<stdout>" +#line 290 "<stdout>" yy24: yych = *++YYCURSOR; if(yych <= ','){ if(yych != '+') goto yy2; @@ -646,7 +652,7 @@ yy25: yych = *++YYCURSOR; if(yych >= ':') goto yy2; goto yy26; yy26: ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); + if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; goto yy27; yy27: if(yych <= '/') goto yy2; @@ -659,7 +665,7 @@ yy28: yych = *++YYCURSOR; yy29: ++YYCURSOR; goto yy30; yy30: -#line 499 "/usr/src/php-cvs/ext/standard/var_unserializer.re" +#line 499 "/usr/src/php/php5/ext/standard/var_unserializer.re" { INIT_PZVAL(*rval); @@ -667,7 +673,7 @@ yy30: return object_common2(UNSERIALIZE_PASSTHRU, object_common1(UNSERIALIZE_PASSTHRU, ZEND_STANDARD_CLASS_DEF_PTR)); } -#line 322 "<stdout>" +#line 328 "<stdout>" yy31: yych = *++YYCURSOR; if(yych == '+') goto yy32; if(yych <= '/') goto yy2; @@ -678,7 +684,7 @@ yy32: yych = *++YYCURSOR; if(yych >= ':') goto yy2; goto yy33; yy33: ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); + if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; goto yy34; yy34: if(yych <= '/') goto yy2; @@ -691,7 +697,7 @@ yy35: yych = *++YYCURSOR; yy36: ++YYCURSOR; goto yy37; yy37: -#line 477 "/usr/src/php-cvs/ext/standard/var_unserializer.re" +#line 477 "/usr/src/php/php5/ext/standard/var_unserializer.re" { long elements = parse_iv(start + 2); /* use iv() not uiv() in order to check data range */ @@ -713,7 +719,7 @@ yy37: return finish_nested_data(UNSERIALIZE_PASSTHRU); } -#line 369 "<stdout>" +#line 375 "<stdout>" yy38: yych = *++YYCURSOR; if(yych == '+') goto yy39; if(yych <= '/') goto yy2; @@ -724,7 +730,7 @@ yy39: yych = *++YYCURSOR; if(yych >= ':') goto yy2; goto yy40; yy40: ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); + if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; goto yy41; yy41: if(yych <= '/') goto yy2; @@ -737,7 +743,7 @@ yy42: yych = *++YYCURSOR; yy43: ++YYCURSOR; goto yy44; yy44: -#line 449 "/usr/src/php-cvs/ext/standard/var_unserializer.re" +#line 449 "/usr/src/php/php5/ext/standard/var_unserializer.re" { size_t len, maxlen; char *str; @@ -765,7 +771,7 @@ yy44: ZVAL_STRINGL(*rval, str, len, 1); return 1; } -#line 422 "<stdout>" +#line 428 "<stdout>" yy45: yych = *++YYCURSOR; if(yych <= '/'){ if(yych <= ','){ @@ -807,7 +813,7 @@ yy49: yych = *++YYCURSOR; if(yych >= ':') goto yy2; goto yy50; yy50: ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); + if((YYLIMIT - YYCURSOR) < 4) YYFILL(4); yych = *YYCURSOR; goto yy51; yy51: if(yych <= ':'){ @@ -834,7 +840,7 @@ yy52: yych = *++YYCURSOR; if(yych >= ':') goto yy2; goto yy53; yy53: ++YYCURSOR; - if(YYLIMIT == YYCURSOR) YYFILL(1); + if((YYLIMIT - YYCURSOR) < 4) YYFILL(4); yych = *YYCURSOR; goto yy54; yy54: if(yych <= ';'){ @@ -854,14 +860,14 @@ yy54: if(yych <= ';'){ yy55: ++YYCURSOR; goto yy56; yy56: -#line 442 "/usr/src/php-cvs/ext/standard/var_unserializer.re" +#line 442 "/usr/src/php/php5/ext/standard/var_unserializer.re" { *p = YYCURSOR; INIT_PZVAL(*rval); ZVAL_DOUBLE(*rval, zend_strtod((const char *)start + 2, NULL)); return 1; } -#line 520 "<stdout>" +#line 526 "<stdout>" yy57: yych = *++YYCURSOR; if(yych <= ','){ if(yych != '+') goto yy2; @@ -921,7 +927,7 @@ yy65: yych = *++YYCURSOR; yy66: ++YYCURSOR; goto yy67; yy67: -#line 427 "/usr/src/php-cvs/ext/standard/var_unserializer.re" +#line 427 "/usr/src/php/php5/ext/standard/var_unserializer.re" { *p = YYCURSOR; INIT_PZVAL(*rval); @@ -936,7 +942,7 @@ yy67: return 1; } -#line 597 "<stdout>" +#line 603 "<stdout>" yy68: yych = *++YYCURSOR; if(yych == 'N') goto yy65; goto yy2; @@ -965,14 +971,14 @@ yy72: if(yych <= '/') goto yy2; yy73: ++YYCURSOR; goto yy74; yy74: -#line 420 "/usr/src/php-cvs/ext/standard/var_unserializer.re" +#line 420 "/usr/src/php/php5/ext/standard/var_unserializer.re" { *p = YYCURSOR; INIT_PZVAL(*rval); ZVAL_LONG(*rval, parse_iv(start + 2)); return 1; } -#line 634 "<stdout>" +#line 640 "<stdout>" yy75: yych = *++YYCURSOR; if(yych <= '/') goto yy2; if(yych >= '2') goto yy2; @@ -983,25 +989,25 @@ yy76: yych = *++YYCURSOR; yy77: ++YYCURSOR; goto yy78; yy78: -#line 413 "/usr/src/php-cvs/ext/standard/var_unserializer.re" +#line 413 "/usr/src/php/php5/ext/standard/var_unserializer.re" { *p = YYCURSOR; INIT_PZVAL(*rval); ZVAL_BOOL(*rval, parse_iv(start + 2)); return 1; } -#line 652 "<stdout>" +#line 658 "<stdout>" yy79: ++YYCURSOR; goto yy80; yy80: -#line 406 "/usr/src/php-cvs/ext/standard/var_unserializer.re" +#line 406 "/usr/src/php/php5/ext/standard/var_unserializer.re" { *p = YYCURSOR; INIT_PZVAL(*rval); ZVAL_NULL(*rval); return 1; } -#line 663 "<stdout>" +#line 669 "<stdout>" yy81: yych = *++YYCURSOR; if(yych <= ','){ if(yych != '+') goto yy2; @@ -1027,7 +1033,7 @@ yy84: if(yych <= '/') goto yy2; yy85: ++YYCURSOR; goto yy86; yy86: -#line 383 "/usr/src/php-cvs/ext/standard/var_unserializer.re" +#line 383 "/usr/src/php/php5/ext/standard/var_unserializer.re" { long id; @@ -1050,7 +1056,7 @@ yy86: return 1; } -#line 713 "<stdout>" +#line 719 "<stdout>" yy87: yych = *++YYCURSOR; if(yych <= ','){ if(yych != '+') goto yy2; @@ -1076,7 +1082,7 @@ yy90: if(yych <= '/') goto yy2; yy91: ++YYCURSOR; goto yy92; yy92: -#line 362 "/usr/src/php-cvs/ext/standard/var_unserializer.re" +#line 362 "/usr/src/php/php5/ext/standard/var_unserializer.re" { long id; @@ -1097,9 +1103,9 @@ yy92: return 1; } -#line 761 "<stdout>" +#line 767 "<stdout>" } -#line 627 "/usr/src/php-cvs/ext/standard/var_unserializer.re" +#line 627 "/usr/src/php/php5/ext/standard/var_unserializer.re" return 0; |