From: Pierre Joye Date: Thu, 28 Jul 2011 11:01:04 +0000 (+0000) Subject: - Fix #55301 (mssql part) check if malloc succeded X-Git-Tag: php-5.4.0alpha3~31 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9c8855345692ce8538f0c84850a2c380a8e7635c;p=php - Fix #55301 (mssql part) check if malloc succeded --- 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;