Patch odbc-bug-48122 for ODBC related Bug #48122
Patch version 2011-01-17 15:48 UTC
Return to Bug #48122 |
Download this patch
Patch Revisions:
Developer: kalle@php.net
Index: php_odbc.c
===================================================================
--- php_odbc.c (revision 307531)
+++ php_odbc.c (working copy)
@@ -1470,8 +1470,8 @@
if (max_len > 0) {
cursorname = emalloc(max_len + 1);
rc = SQLGetCursorName(result->stmt,cursorname,(SQLSMALLINT)max_len,&len);
- if (rc != SQL_SUCCESS && rc != SQL_SUCCESS_WITH_INFO) {
- char state[6]; /* Not used */
+ if ((rc != SQL_SUCCESS && rc != SQL_SUCCESS_WITH_INFO) || !cursorname) {
+ char state[6];
SQLINTEGER error; /* Not used */
char errormsg[SQL_MAX_MESSAGE_LENGTH];
SQLSMALLINT errormsgsize; /* Not used */
@@ -1479,7 +1479,7 @@
SQLError( result->conn_ptr->henv, result->conn_ptr->hdbc,
result->stmt, state, &error, errormsg,
sizeof(errormsg)-1, &errormsgsize);
- if (!strncmp(state,"S1015",5)) {
+ if (!cursorname || !strncmp(state,"S1015",5)) {
snprintf(cursorname, max_len+1, "php_curs_%d", (int)result->stmt);
if (SQLSetCursorName(result->stmt,cursorname,SQL_NTS) != SQL_SUCCESS) {
odbc_sql_error(result->conn_ptr, result->stmt, "SQLSetCursorName");
|