]> granicus.if.org Git - php/commitdiff
fix by ilia to fix crashes in the session extension when /tmp/sess_* files
authorSterling Hughes <sterling@php.net>
Thu, 26 Jun 2003 03:24:11 +0000 (03:24 +0000)
committerSterling Hughes <sterling@php.net>
Thu, 26 Jun 2003 03:24:11 +0000 (03:24 +0000)
previously existed.  make test now passes fully with the session extension.

ext/standard/var_unserializer.c
ext/standard/var_unserializer.re

index 1b67c54fdd36ad9aa1b92f2e49f20f084266589b..7514504f3d67f9a04116bfe580e48e210b9f631c 100644 (file)
@@ -1,5 +1,5 @@
-/* Generated by re2c 0.5 on Sat May 24 19:11:12 2003 */
-#line 1 "/usr/src/php5/ext/standard/var_unserializer.re"
+/* Generated by re2c 0.5 on Wed Jun 25 23:00:04 2003 */
+#line 1 "/home/rei/PHP_CVS/php-src/ext/standard/var_unserializer.re"
 /*
   +----------------------------------------------------------------------+
   | PHP Version 4                                                        |
@@ -339,7 +339,7 @@ yy3:        yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
        if(yych == ':') goto yy74;
 yy4:
-#line 441
+#line 440
        { return 0; }
 yy5:   yych = *++YYCURSOR;
        if(yych == ';') goto yy72;
@@ -374,7 +374,7 @@ yy12:       yyaccept = 0;
        goto yy4;
 yy13:  yych = *++YYCURSOR;
 yy14:
-#line 435
+#line 434
        {
        /* this is the case where we have less data than planned */
        php_error_docref(NULL TSRMLS_CC, E_NOTICE, "Unexpected end of serialized data");
@@ -398,7 +398,7 @@ yy20:       yych = *++YYCURSOR;
        if(yych != '"') goto yy2;
 yy21:  yych = *++YYCURSOR;
 yy22:
-#line 350
+#line 349
        {
        int len;
        int elements;
@@ -505,7 +505,7 @@ yy27:       yych = *++YYCURSOR;
        if(yych != '"') goto yy2;
 yy28:  yych = *++YYCURSOR;
 yy29:
-#line 342
+#line 341
        {
 
        INIT_PZVAL(*rval);
@@ -535,7 +535,7 @@ yy34:       yych = *++YYCURSOR;
        if(yych != '{') goto yy2;
 yy35:  yych = *++YYCURSOR;
 yy36:
-#line 324
+#line 323
        {
        int elements = parse_iv(start + 2);
 
@@ -575,7 +575,7 @@ yy41:       yych = *++YYCURSOR;
        if(yych != '"') goto yy2;
 yy42:  yych = *++YYCURSOR;
 yy43:
-#line 304
+#line 303
        {
        int len;
        char *str;
@@ -652,7 +652,7 @@ yy50:       if(yych <= ';'){
        }
 yy51:  yych = *++YYCURSOR;
 yy52:
-#line 297
+#line 296
        {
        *p = YYCURSOR;
        INIT_PZVAL(*rval);
@@ -725,7 +725,7 @@ yy63:       if(yych <= '/') goto yy2;
        if(yych != ';') goto yy2;
 yy64:  yych = *++YYCURSOR;
 yy65:
-#line 290
+#line 289
        {
        *p = YYCURSOR;
        INIT_PZVAL(*rval);
@@ -752,7 +752,7 @@ yy69:       if(yych <= '/') goto yy2;
        if(yych != ';') goto yy2;
 yy70:  yych = *++YYCURSOR;
 yy71:
-#line 283
+#line 282
        {
        *p = YYCURSOR;
        INIT_PZVAL(*rval);
@@ -761,7 +761,7 @@ yy71:
 }
 yy72:  yych = *++YYCURSOR;
 yy73:
-#line 276
+#line 275
        {
        *p = YYCURSOR;
        INIT_PZVAL(*rval);
@@ -800,7 +800,6 @@ yy79:
                return 0;
        }
 
-       zval_ptr_dtor(rval);
        *rval = *rval_ref;
        (*rval)->refcount++;
        (*rval)->is_ref = 1;
@@ -808,7 +807,7 @@ yy79:
        return 1;
 }
 }
-#line 443
+#line 442
 
 
        return 0;
index f450187fc2c28af19f9e5bc18555a3c63f51c306..7b925983d088583a0fc768df1fb5cc2c76f4d55d 100644 (file)
@@ -265,7 +265,6 @@ PHPAPI int php_var_unserialize(UNSERIALIZE_PARAMETER)
                return 0;
        }
 
-       zval_ptr_dtor(rval);
        *rval = *rval_ref;
        (*rval)->refcount++;
        (*rval)->is_ref = 1;