summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIlia Alshanetsky <iliaa@php.net>2004-05-25 14:39:26 +0000
committerIlia Alshanetsky <iliaa@php.net>2004-05-25 14:39:26 +0000
commit2685fad6b76bccbe8a98f797d5ffd2b57e82dc66 (patch)
treea51429256f6ff49381f0447b1d8fa1c568b06503
parent9280b88a8cdc1a5a3fa26cd1bac138354831dcbe (diff)
downloadphp-git-2685fad6b76bccbe8a98f797d5ffd2b57e82dc66.tar.gz
Fixed memory leak.
-rwxr-xr-xext/pdo_mysql/mysql_driver.c20
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;
}