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);

Reply via email to