From 86f29b0cf776687e6afd4685ba301907adec11de Mon Sep 17 00:00:00 2001 From: Antony Dovgal Date: Mon, 19 Feb 2007 20:22:29 +0000 Subject: [PATCH] check SQLError() return value and output a meaningful errmsg when it fails --- ext/odbc/php_odbc.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ext/odbc/php_odbc.c b/ext/odbc/php_odbc.c index 126364ba7b..a9d19c8f18 100644 --- a/ext/odbc/php_odbc.c +++ b/ext/odbc/php_odbc.c @@ -587,6 +587,10 @@ void odbc_sql_error(ODBC_SQL_ERROR_PARAMS) do { */ rc = SQLError(henv, conn, stmt, state, &error, errormsg, sizeof(errormsg)-1, &errormsgsize); + if (rc != SQL_SUCCESS && rc != SQL_SUCCESS_WITH_INFO) { + sprintf(state, "HY000"); + sprintf(errormsg, "Failed to fetch error message"); + } if (conn_resource) { memcpy(conn_resource->laststate, state, sizeof(state)); memcpy(conn_resource->lasterrormsg, errormsg, sizeof(errormsg)); @@ -1217,7 +1221,7 @@ PHP_FUNCTION(odbc_data_source) if (rc != SQL_SUCCESS) { /* ummm.... he did it */ - odbc_sql_error(conn, NULL, "SQLDataSources"); + odbc_sql_error(conn, SQL_NULL_HSTMT, "SQLDataSources"); RETURN_FALSE; } -- 2.40.0