summaryrefslogtreecommitdiff
path: root/ext/mssql/php_mssql.c
diff options
context:
space:
mode:
authorPierre Joye <pajoye@php.net>2011-07-28 11:01:04 +0000
committerPierre Joye <pajoye@php.net>2011-07-28 11:01:04 +0000
commit9c8855345692ce8538f0c84850a2c380a8e7635c (patch)
tree783c3fa288b09108f12a0677e312ac1a08412e7b /ext/mssql/php_mssql.c
parent61780c3dbc7ae0cef9bebe6c13b01efc888afc25 (diff)
downloadphp-git-9c8855345692ce8538f0c84850a2c380a8e7635c.tar.gz
- Fix #55301 (mssql part) check if malloc succeded
Diffstat (limited to 'ext/mssql/php_mssql.c')
-rw-r--r--ext/mssql/php_mssql.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/ext/mssql/php_mssql.c b/ext/mssql/php_mssql.c
index 5a86256413..1cc5564a3e 100644
--- a/ext/mssql/php_mssql.c
+++ b/ext/mssql/php_mssql.c
@@ -685,6 +685,13 @@ static void php_mssql_do_connect(INTERNAL_FUNCTION_PARAMETERS, int persistent)
/* hash it up */
mssql_ptr = (mssql_link *) malloc(sizeof(mssql_link));
+ if (!mssql_ptr) {
+ efree(hashed_details);
+ dbfreelogin(mssql.login);
+ dbclose(mssql.link);
+ RETURN_FALSE;
+ }
+
memcpy(mssql_ptr, &mssql, sizeof(mssql_link));
Z_TYPE(new_le) = le_plink;
new_le.ptr = mssql_ptr;