Repository: trafodion Updated Branches: refs/heads/master 72da2cd7d -> fd699db1b
[Trafodion-2890] When using failed connection handle to alloc statement handle, crash happens Project: http://git-wip-us.apache.org/repos/asf/trafodion/repo Commit: http://git-wip-us.apache.org/repos/asf/trafodion/commit/4b79eda1 Tree: http://git-wip-us.apache.org/repos/asf/trafodion/tree/4b79eda1 Diff: http://git-wip-us.apache.org/repos/asf/trafodion/diff/4b79eda1 Branch: refs/heads/master Commit: 4b79eda16822999828f2cdf257723df478e94a74 Parents: d93d17e Author: Weixin-Xu <[email protected]> Authored: Mon Jan 8 15:32:17 2018 +0800 Committer: Weixin-Xu <[email protected]> Committed: Mon Jan 8 15:46:21 2018 +0800 ---------------------------------------------------------------------- .../unixodbc/odbc/odbcclient/unixcli/DrvrManager/drvrmanager.cpp | 2 ++ 1 file changed, 2 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/trafodion/blob/4b79eda1/core/conn/unixodbc/odbc/odbcclient/unixcli/DrvrManager/drvrmanager.cpp ---------------------------------------------------------------------- diff --git a/core/conn/unixodbc/odbc/odbcclient/unixcli/DrvrManager/drvrmanager.cpp b/core/conn/unixodbc/odbc/odbcclient/unixcli/DrvrManager/drvrmanager.cpp index 9bc0763..5d74a86 100644 --- a/core/conn/unixodbc/odbc/odbcclient/unixcli/DrvrManager/drvrmanager.cpp +++ b/core/conn/unixodbc/odbc/odbcclient/unixcli/DrvrManager/drvrmanager.cpp @@ -86,6 +86,8 @@ SQLRETURN SQL_API SQLAllocHandle(SQLSMALLINT HandleType, } break; case SQL_HANDLE_STMT: + if (!IS_VALID_HDBC (InputHandle)) + return SQL_INVALID_HANDLE; rc = NeoAllocHandle(SQL_HANDLE_STMT, InputHandle, (SQLHSTMT*)OutputHandle); //rc = SQLAllocStmt(InputHandle,(SQLHSTMT *)OutputHandle); RETURNCODE (InputHandle,rc);
