]> granicus.if.org Git - php/commitdiff
fix leak appearing when odbc_errormsg() got invalid resource
authorAntony Dovgal <tony2001@php.net>
Mon, 17 Jan 2005 15:05:11 +0000 (15:05 +0000)
committerAntony Dovgal <tony2001@php.net>
Mon, 17 Jan 2005 15:05:11 +0000 (15:05 +0000)
ext/odbc/php_odbc.c

index 438204f21c3a1b620c7efa88757ba782e4172d9c..6020959e4f73fd08c3f0a75f688983e509e86ec2 100644 (file)
@@ -2712,15 +2712,17 @@ static void php_odbc_lasterror(INTERNAL_FUNCTION_PARAMETERS, int mode)
        } else { /* last error message */
                len = SQL_MAX_MESSAGE_LENGTH;
        }
-       ptr = ecalloc(len + 1, 1);
+
        if (argc == 1) {
                ZEND_FETCH_RESOURCE2(conn, odbc_connection *, pv_handle, -1, "ODBC-Link", le_conn, le_pconn);
+               ptr = ecalloc(len + 1, 1);
                if (mode == 0) {
                        strlcpy(ptr, conn->laststate, len+1);
                } else {
                        strlcpy(ptr, conn->lasterrormsg, len+1);
                }
        } else {
+               ptr = ecalloc(len + 1, 1);
                if (mode == 0) {
                        strlcpy(ptr, ODBCG(laststate), len+1);
                } else {