TRAFODION-1856: Revoke - object and column privilege checks not integrated for constraints
Fixed a problem with null pointer referencing from prior push Project: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/commit/66e03ea3 Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/tree/66e03ea3 Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/diff/66e03ea3 Branch: refs/heads/master Commit: 66e03ea3ff0d0fd0e190f60abb256c810926d871 Parents: b9161bf Author: Roberta Marton <[email protected]> Authored: Tue Mar 1 16:37:27 2016 +0000 Committer: Roberta Marton <[email protected]> Committed: Tue Mar 1 16:37:27 2016 +0000 ---------------------------------------------------------------------- core/sql/sqlcomp/PrivMgrMD.h | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/66e03ea3/core/sql/sqlcomp/PrivMgrMD.h ---------------------------------------------------------------------- diff --git a/core/sql/sqlcomp/PrivMgrMD.h b/core/sql/sqlcomp/PrivMgrMD.h index c61d49a..a4c3f5e 100644 --- a/core/sql/sqlcomp/PrivMgrMD.h +++ b/core/sql/sqlcomp/PrivMgrMD.h @@ -75,8 +75,7 @@ struct ColumnReference { void describe (std::string &details) const { - details = "column usage "; - details += " column number is "; + details = "column usage - column number is "; details += to_string((long long int) columnOrdinal); } @@ -123,15 +122,19 @@ class ObjectReference virtual ~ObjectReference ( void ) { - while(!columnReferences->empty()) - delete columnReferences->back(), columnReferences->pop_back(); - delete columnReferences; + if (columnReferences) + { + while(!columnReferences->empty()) + delete columnReferences->back(), columnReferences->pop_back(); + delete columnReferences; + } } int64_t objectUID; int32_t objectOwner; ComObjectType objectType; std::string objectName; + //TBD - make columnReferences a map instead of a vector std::vector<ColumnReference *> *columnReferences; PrivMgrDesc updatedPrivs;
