summaryrefslogtreecommitdiff
path: root/ext/sybase
diff options
context:
space:
mode:
Diffstat (limited to 'ext/sybase')
-rw-r--r--ext/sybase/php_sybase_db.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/ext/sybase/php_sybase_db.c b/ext/sybase/php_sybase_db.c
index 93ab6e3dff..aef81e29f5 100644
--- a/ext/sybase/php_sybase_db.c
+++ b/ext/sybase/php_sybase_db.c
@@ -406,6 +406,7 @@ static void php_sybase_do_connect(INTERNAL_FUNCTION_PARAMETERS,int persistent)
/* set a DBLOGIN record */
if ((sybase.login=dblogin())==NULL) {
php_error(E_WARNING,"Sybase: Unable to allocate login record");
+ efree(hashed_details);
RETURN_FALSE;
}
@@ -479,6 +480,7 @@ static void php_sybase_do_connect(INTERNAL_FUNCTION_PARAMETERS,int persistent)
} else { /* we do */
if (Z_TYPE_P(le) != php_sybase_module.le_plink) {
php_error(E_WARNING,"Sybase: Hashed persistent link is not a Sybase link!");
+ efree(hashed_details);
RETURN_FALSE;
}
@@ -513,6 +515,7 @@ static void php_sybase_do_connect(INTERNAL_FUNCTION_PARAMETERS,int persistent)
void *ptr;
if (Z_TYPE_P(index_ptr) != le_index_ptr) {
+ efree(hashed_details);
RETURN_FALSE;
}
link = (int) index_ptr->ptr;