diff options
| author | Ilia Alshanetsky <iliaa@php.net> | 2004-05-25 14:39:26 +0000 |
|---|---|---|
| committer | Ilia Alshanetsky <iliaa@php.net> | 2004-05-25 14:39:26 +0000 |
| commit | 2685fad6b76bccbe8a98f797d5ffd2b57e82dc66 (patch) | |
| tree | a51429256f6ff49381f0447b1d8fa1c568b06503 /ext/pdo_mysql/mysql_driver.c | |
| parent | 9280b88a8cdc1a5a3fa26cd1bac138354831dcbe (diff) | |
| download | php-git-2685fad6b76bccbe8a98f797d5ffd2b57e82dc66.tar.gz | |
Fixed memory leak.
Diffstat (limited to 'ext/pdo_mysql/mysql_driver.c')
| -rwxr-xr-x | ext/pdo_mysql/mysql_driver.c | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/ext/pdo_mysql/mysql_driver.c b/ext/pdo_mysql/mysql_driver.c index 457ed0db78..a5607e9cb5 100755 --- a/ext/pdo_mysql/mysql_driver.c +++ b/ext/pdo_mysql/mysql_driver.c @@ -141,14 +141,18 @@ static int pdo_mysql_fetch_error_func(pdo_dbh_t *dbh, pdo_stmt_t *stmt, zval *in static int mysql_handle_closer(pdo_dbh_t *dbh TSRMLS_DC) /* {{{ */ { pdo_mysql_db_handle *H = (pdo_mysql_db_handle *)dbh->driver_data; - - if (H->server) { - mysql_close(H->server); - H->server = NULL; - } - if (H->einfo.errmsg) { - efree(H->einfo.errmsg); - H->einfo.errmsg = NULL; + + if (H) { + if (H->server) { + mysql_close(H->server); + H->server = NULL; + } + if (H->einfo.errmsg) { + efree(H->einfo.errmsg); + H->einfo.errmsg = NULL; + } + efree(H); + H = NULL; } return 0; } |
