diff options
Diffstat (limited to 'ext/sqlite/sqlite.c')
| -rw-r--r-- | ext/sqlite/sqlite.c | 9 | 
1 files changed, 9 insertions, 0 deletions
diff --git a/ext/sqlite/sqlite.c b/ext/sqlite/sqlite.c index 4c979d146a..5e4ebc0ebc 100644 --- a/ext/sqlite/sqlite.c +++ b/ext/sqlite/sqlite.c @@ -1030,6 +1030,9 @@ PHP_FUNCTION(sqlite_popen)  				&filename, &filename_len, &mode, &errmsg)) {  		return;  	} +	if (errmsg) { +		zval_dtor(errmsg); +	}  	if (strncmp(filename, ":memory:", sizeof(":memory:") - 1)) {  		/* resolve the fully-qualified path name to use as the hash key */ @@ -1095,6 +1098,9 @@ PHP_FUNCTION(sqlite_open)  		php_set_error_handling(EH_NORMAL, NULL TSRMLS_CC);  		return;  	} +	if (errmsg) { +		zval_dtor(errmsg); +	}  	if (strncmp(filename, ":memory:", sizeof(":memory:") - 1)) {  		if (PG(safe_mode) && (!php_checkuid(filename, NULL, CHECKUID_CHECK_FILE_AND_DIR))) { @@ -1137,6 +1143,9 @@ PHP_FUNCTION(sqlite_factory)  		php_set_error_handling(EH_NORMAL, NULL TSRMLS_CC);  		RETURN_NULL();  	} +	if (errmsg) { +		zval_dtor(errmsg); +	}  	if (PG(safe_mode) && (!php_checkuid(filename, NULL, CHECKUID_CHECK_FILE_AND_DIR))) {  		php_set_error_handling(EH_NORMAL, NULL TSRMLS_CC);  | 
