From 61bbeabdfad22fd0fbd91633a9c45131933ad1d9 Mon Sep 17 00:00:00 2001 From: Marcus Boerger Date: Sun, 12 Sep 2004 12:45:01 +0000 Subject: [PATCH] - Moe changed from .re to .c --- ext/standard/var_unserializer.c | 42 ++++++++++++++++++++------------- 1 file changed, 26 insertions(+), 16 deletions(-) diff --git a/ext/standard/var_unserializer.c b/ext/standard/var_unserializer.c index 6dbad500a4..4a21701903 100644 --- a/ext/standard/var_unserializer.c +++ b/ext/standard/var_unserializer.c @@ -1,4 +1,4 @@ -/* Generated by re2c 0.9.4 on Sun Sep 12 13:42:52 2004 */ +/* Generated by re2c 0.9.4 on Sun Sep 12 14:43:48 2004 */ #line 1 "/usr/src/php-cvs/ext/standard/var_unserializer.re" /* +----------------------------------------------------------------------+ @@ -204,11 +204,21 @@ static inline int process_nested_data(UNSERIALIZE_PARAMETER, HashTable *ht, int case IS_STRING: zend_hash_update(ht, Z_STRVAL_P(key), Z_STRLEN_P(key) + 1, &data, sizeof(data), NULL); break; - + default: + zval_dtor(key); + FREE_ZVAL(key); + zval_dtor(data); + FREE_ZVAL(data); + return 0; } zval_dtor(key); FREE_ZVAL(key); + + if (elements && *(*p-1) != ';' && *(*p-1) != '}') { + (*p)--; + return 0; + } } return 1; @@ -368,7 +378,7 @@ yy3: yyaccept = 0; if(yych == ':') goto yy87; goto yy4; yy4: -#line 522 "/usr/src/php-cvs/ext/standard/var_unserializer.re" +#line 532 "/usr/src/php-cvs/ext/standard/var_unserializer.re" { return 0; } #line 102 "" yy5: yyaccept = 0; @@ -409,7 +419,7 @@ yy13: yyaccept = 0; yy14: ++YYCURSOR; goto yy15; yy15: -#line 516 "/usr/src/php-cvs/ext/standard/var_unserializer.re" +#line 526 "/usr/src/php-cvs/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"); @@ -438,7 +448,7 @@ yy21: yych = *++YYCURSOR; yy22: ++YYCURSOR; goto yy23; yy23: -#line 423 "/usr/src/php-cvs/ext/standard/var_unserializer.re" +#line 433 "/usr/src/php-cvs/ext/standard/var_unserializer.re" { size_t len, len2, maxlen; int elements; @@ -560,7 +570,7 @@ yy28: yych = *++YYCURSOR; yy29: ++YYCURSOR; goto yy30; yy30: -#line 415 "/usr/src/php-cvs/ext/standard/var_unserializer.re" +#line 425 "/usr/src/php-cvs/ext/standard/var_unserializer.re" { INIT_PZVAL(*rval); @@ -592,7 +602,7 @@ yy35: yych = *++YYCURSOR; yy36: ++YYCURSOR; goto yy37; yy37: -#line 397 "/usr/src/php-cvs/ext/standard/var_unserializer.re" +#line 407 "/usr/src/php-cvs/ext/standard/var_unserializer.re" { int elements = parse_iv(start + 2); @@ -634,7 +644,7 @@ yy42: yych = *++YYCURSOR; yy43: ++YYCURSOR; goto yy44; yy44: -#line 369 "/usr/src/php-cvs/ext/standard/var_unserializer.re" +#line 379 "/usr/src/php-cvs/ext/standard/var_unserializer.re" { size_t len, maxlen; char *str; @@ -751,7 +761,7 @@ yy54: if(yych <= ';'){ yy55: ++YYCURSOR; goto yy56; yy56: -#line 362 "/usr/src/php-cvs/ext/standard/var_unserializer.re" +#line 372 "/usr/src/php-cvs/ext/standard/var_unserializer.re" { *p = YYCURSOR; INIT_PZVAL(*rval); @@ -818,7 +828,7 @@ yy65: yych = *++YYCURSOR; yy66: ++YYCURSOR; goto yy67; yy67: -#line 345 "/usr/src/php-cvs/ext/standard/var_unserializer.re" +#line 355 "/usr/src/php-cvs/ext/standard/var_unserializer.re" { *p = YYCURSOR; INIT_PZVAL(*rval); @@ -864,7 +874,7 @@ yy72: if(yych <= '/') goto yy2; yy73: ++YYCURSOR; goto yy74; yy74: -#line 338 "/usr/src/php-cvs/ext/standard/var_unserializer.re" +#line 348 "/usr/src/php-cvs/ext/standard/var_unserializer.re" { *p = YYCURSOR; INIT_PZVAL(*rval); @@ -882,7 +892,7 @@ yy76: yych = *++YYCURSOR; yy77: ++YYCURSOR; goto yy78; yy78: -#line 331 "/usr/src/php-cvs/ext/standard/var_unserializer.re" +#line 341 "/usr/src/php-cvs/ext/standard/var_unserializer.re" { *p = YYCURSOR; INIT_PZVAL(*rval); @@ -893,7 +903,7 @@ yy78: yy79: ++YYCURSOR; goto yy80; yy80: -#line 324 "/usr/src/php-cvs/ext/standard/var_unserializer.re" +#line 334 "/usr/src/php-cvs/ext/standard/var_unserializer.re" { *p = YYCURSOR; INIT_PZVAL(*rval); @@ -926,7 +936,7 @@ yy84: if(yych <= '/') goto yy2; yy85: ++YYCURSOR; goto yy86; yy86: -#line 303 "/usr/src/php-cvs/ext/standard/var_unserializer.re" +#line 313 "/usr/src/php-cvs/ext/standard/var_unserializer.re" { int id; @@ -973,7 +983,7 @@ yy90: if(yych <= '/') goto yy2; yy91: ++YYCURSOR; goto yy92; yy92: -#line 282 "/usr/src/php-cvs/ext/standard/var_unserializer.re" +#line 292 "/usr/src/php-cvs/ext/standard/var_unserializer.re" { int id; @@ -996,7 +1006,7 @@ yy92: } #line 737 "" } -#line 524 "/usr/src/php-cvs/ext/standard/var_unserializer.re" +#line 534 "/usr/src/php-cvs/ext/standard/var_unserializer.re" return 0; -- 2.50.1