diff options
author | Dmitry Stogov <dmitry@zend.com> | 2014-07-31 10:53:31 +0400 |
---|---|---|
committer | Dmitry Stogov <dmitry@zend.com> | 2014-07-31 10:53:31 +0400 |
commit | 449f3e645232055760c8ccca77498f83b88f5486 (patch) | |
tree | 6b006cdab3c95398eb359a95accf79d4f4bbaf03 /main/php_streams.h | |
parent | 72753068873921ad4b970623c1e727f9a7d7b5eb (diff) | |
download | php-git-449f3e645232055760c8ccca77498f83b88f5486.tar.gz |
Fixed resource leak
Diffstat (limited to 'main/php_streams.h')
-rw-r--r-- | main/php_streams.h | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/main/php_streams.h b/main/php_streams.h index 2a142b99c2..fac15ce3e4 100644 --- a/main/php_streams.h +++ b/main/php_streams.h @@ -202,9 +202,7 @@ struct _php_stream { * PHP_STREAM_FCLOSE_XXX as appropriate */ int fclose_stdiocast; FILE *stdiocast; /* cache this, otherwise we might leak! */ -#if ZEND_DEBUG int __exposed; /* non-zero if exposed as a zval somewhere */ -#endif char *orig_path; php_stream_context *context; @@ -243,17 +241,12 @@ END_EXTERN_C() #define php_stream_alloc(ops, thisptr, persistent_id, mode) _php_stream_alloc((ops), (thisptr), (persistent_id), (mode) STREAMS_CC TSRMLS_CC) #define php_stream_get_resource_id(stream) ((php_stream *)(stream))->res->handle -#if ZEND_DEBUG /* use this to tell the stream that it is OK if we don't explicitly close it */ -# define php_stream_auto_cleanup(stream) { (stream)->__exposed++; } +#define php_stream_auto_cleanup(stream) { (stream)->__exposed++; } /* use this to assign the stream to a zval and tell the stream that is * has been exported to the engine; it will expect to be closed automatically * when the resources are auto-destructed */ -# define php_stream_to_zval(stream, zval) { ZVAL_RES(zval, (stream)->res); (stream)->__exposed++; } -#else -# define php_stream_auto_cleanup(stream) /* nothing */ -# define php_stream_to_zval(stream, zval) { ZVAL_RES(zval, (stream)->res); } -#endif +#define php_stream_to_zval(stream, zval) { ZVAL_RES(zval, (stream)->res); (stream)->__exposed++; } #define php_stream_from_zval(xstr, pzval) ZEND_FETCH_RESOURCE2((xstr), php_stream *, (pzval), -1, "stream", php_file_le_stream(), php_file_le_pstream()) #define php_stream_from_zval_no_verify(xstr, pzval) (xstr) = (php_stream*)zend_fetch_resource((pzval) TSRMLS_CC, -1, "stream", NULL, 2, php_file_le_stream(), php_file_le_pstream()) |