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
commita3796f27fb4c4264ee9ce27dd5d1a4ae09764d1b (patch)
tree5be99a72d439ffd4e1f62defec65406fe5b72758 /ext/mssql/php_mssql.c
parentc8a621b191651614f5936c63a17775309a31496e (diff)
downloadphp-git-a3796f27fb4c4264ee9ce27dd5d1a4ae09764d1b.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 10a83dc427..b75da175ac 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;