mirror of
https://github.com/php/php-src.git
synced 2024-09-22 18:37:25 +00:00
fix leak appearing when odbc_errormsg() got invalid resource
This commit is contained in:
parent
8288c451c0
commit
acbdbe1e65
@ -2712,15 +2712,17 @@ static void php_odbc_lasterror(INTERNAL_FUNCTION_PARAMETERS, int mode)
|
|||||||
} else { /* last error message */
|
} else { /* last error message */
|
||||||
len = SQL_MAX_MESSAGE_LENGTH;
|
len = SQL_MAX_MESSAGE_LENGTH;
|
||||||
}
|
}
|
||||||
ptr = ecalloc(len + 1, 1);
|
|
||||||
if (argc == 1) {
|
if (argc == 1) {
|
||||||
ZEND_FETCH_RESOURCE2(conn, odbc_connection *, pv_handle, -1, "ODBC-Link", le_conn, le_pconn);
|
ZEND_FETCH_RESOURCE2(conn, odbc_connection *, pv_handle, -1, "ODBC-Link", le_conn, le_pconn);
|
||||||
|
ptr = ecalloc(len + 1, 1);
|
||||||
if (mode == 0) {
|
if (mode == 0) {
|
||||||
strlcpy(ptr, conn->laststate, len+1);
|
strlcpy(ptr, conn->laststate, len+1);
|
||||||
} else {
|
} else {
|
||||||
strlcpy(ptr, conn->lasterrormsg, len+1);
|
strlcpy(ptr, conn->lasterrormsg, len+1);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
ptr = ecalloc(len + 1, 1);
|
||||||
if (mode == 0) {
|
if (mode == 0) {
|
||||||
strlcpy(ptr, ODBCG(laststate), len+1);
|
strlcpy(ptr, ODBCG(laststate), len+1);
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
Reference in New Issue
Block a user