]> granicus.if.org Git - php/commitdiff
- Fix #55301 (mssql part) check if malloc succeded
authorPierre Joye <pajoye@php.net>
Thu, 28 Jul 2011 11:01:04 +0000 (11:01 +0000)
committerPierre Joye <pajoye@php.net>
Thu, 28 Jul 2011 11:01:04 +0000 (11:01 +0000)
ext/mssql/php_mssql.c

index 5a8625641360bcb532f7fd5e818f97d2324d6889..1cc5564a3e2f1ac7d7106d1250dcfa9df9263878 100644 (file)
@@ -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;