]> granicus.if.org Git - php/commitdiff
Fixed memory leak.
authorIlia Alshanetsky <iliaa@php.net>
Tue, 25 May 2004 14:39:26 +0000 (14:39 +0000)
committerIlia Alshanetsky <iliaa@php.net>
Tue, 25 May 2004 14:39:26 +0000 (14:39 +0000)
ext/pdo_mysql/mysql_driver.c

index 457ed0db783a3622904fbd7fede199741524fe03..a5607e9cb579c01e6e4f7a04b217f68128cfb178 100755 (executable)
@@ -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;
 }