From d153e4628e7643cf02b795f68f739c4bced15389 Mon Sep 17 00:00:00 2001 From: Andy Shaw Date: Mon, 26 May 2014 13:20:40 +0200 Subject: Initialize the count variable used in SQLNumResultCols to 0 If the call to SQLNumResultCols fails for whatever reason then it will not be correctly caught since the count might be higher than 0 since it is uninitalized. This ensures that if it fails then it does not try to act as if it succeeded. Task-number: QTBUG-39137 Change-Id: Ifae8c1f7fac8416643f2317747f87295642a7935 Reviewed-by: Mark Brand --- src/sql/drivers/db2/qsql_db2.cpp | 6 +++--- src/sql/drivers/odbc/qsql_odbc.cpp | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) (limited to 'src/sql') diff --git a/src/sql/drivers/db2/qsql_db2.cpp b/src/sql/drivers/db2/qsql_db2.cpp index d799060633..9fbe1ac6f8 100644 --- a/src/sql/drivers/db2/qsql_db2.cpp +++ b/src/sql/drivers/db2/qsql_db2.cpp @@ -555,7 +555,7 @@ bool QDB2Result::reset (const QString& query) "Unable to execute statement"), QSqlError::StatementError, d)); return false; } - SQLSMALLINT count; + SQLSMALLINT count = 0; r = SQLNumResultCols(d->hStmt, &count); if (count) { setSelect(true); @@ -795,7 +795,7 @@ bool QDB2Result::exec() "Unable to execute statement"), QSqlError::StatementError, d)); return false; } - SQLSMALLINT count; + SQLSMALLINT count = 0; r = SQLNumResultCols(d->hStmt, &count); if (count) { setSelect(true); @@ -1105,7 +1105,7 @@ bool QDB2Result::nextResult() return false; } - SQLSMALLINT fieldCount; + SQLSMALLINT fieldCount = 0; r = SQLNumResultCols(d->hStmt, &fieldCount); setSelect(fieldCount > 0); for (int i = 0; i < fieldCount; ++i) diff --git a/src/sql/drivers/odbc/qsql_odbc.cpp b/src/sql/drivers/odbc/qsql_odbc.cpp index c950d2c2ef..23eff8dbe3 100644 --- a/src/sql/drivers/odbc/qsql_odbc.cpp +++ b/src/sql/drivers/odbc/qsql_odbc.cpp @@ -963,7 +963,7 @@ bool QODBCResult::reset (const QString& query) if(r == SQL_SUCCESS || r == SQL_SUCCESS_WITH_INFO) QSqlResult::setForwardOnly(isScrollable==SQL_NONSCROLLABLE); - SQLSMALLINT count; + SQLSMALLINT count = 0; SQLNumResultCols(d->hStmt, &count); if (count) { setSelect(true); @@ -1591,7 +1591,7 @@ bool QODBCResult::exec() if(r == SQL_SUCCESS || r == SQL_SUCCESS_WITH_INFO) QSqlResult::setForwardOnly(isScrollable==SQL_NONSCROLLABLE); - SQLSMALLINT count; + SQLSMALLINT count = 0; SQLNumResultCols(d->hStmt, &count); if (count) { setSelect(true); @@ -1723,7 +1723,7 @@ bool QODBCResult::nextResult() } } - SQLSMALLINT count; + SQLSMALLINT count = 0; SQLNumResultCols(d->hStmt, &count); if (count) { setSelect(true); -- cgit v1.2.3