]> granicus.if.org Git - php/commitdiff
Fixed memory leak (ext/standard/tests/file/stream_002.phpt)
authorXinchen Hui <laruence@gmail.com>
Wed, 5 Mar 2014 08:03:05 +0000 (16:03 +0800)
committerXinchen Hui <laruence@gmail.com>
Wed, 5 Mar 2014 08:03:05 +0000 (16:03 +0800)
ext/standard/streamsfuncs.c

index 39c0d17bc20b88b3296fd7d70e4f997887cd97dd..8dfd08a347cfed4338eb74b5dfac5af31bd18b2f 100644 (file)
@@ -120,10 +120,12 @@ PHP_FUNCTION(stream_socket_client)
        tv.tv_usec = conv % 1000000;
 #endif
        if (zerrno)     {
+               zerrno = Z_REFVAL_P(zerrno);
                zval_dtor(zerrno);
                ZVAL_LONG(zerrno, 0);
        }
        if (zerrstr) {
+               zerrstr = Z_REFVAL_P(zerrstr);
                zval_dtor(zerrstr);
                ZVAL_EMPTY_STRING(zerrstr);
        }
@@ -156,6 +158,7 @@ PHP_FUNCTION(stream_socket_client)
                        zval_dtor(zerrstr);
 //???                  ZVAL_STRING(zerrstr, errstr, 0);
                        ZVAL_STRING(zerrstr, errstr);
+                       efree(errstr);
                } else if (errstr) {
                        efree(errstr);
                }