diff --git a/services/cert_manager_standard/cert_manager_engine/main/rdb/src/cm_rdb_data_manager.cpp b/services/cert_manager_standard/cert_manager_engine/main/rdb/src/cm_rdb_data_manager.cpp index 3909870748f39376b5fc48c81e364ff57803b4ce..e71a0199cd08bdf09c2074c4d52bd7375c4f4f0a 100644 --- a/services/cert_manager_standard/cert_manager_engine/main/rdb/src/cm_rdb_data_manager.cpp +++ b/services/cert_manager_standard/cert_manager_engine/main/rdb/src/cm_rdb_data_manager.cpp @@ -91,9 +91,15 @@ std::shared_ptr CmRdbDataManager::QueryData(const NativeRdb::AbsRdbPredicates queryPredicates(rdbConfig_.tableName); queryPredicates.EqualTo(keyColumn, primKey); - auto absSharedResultSet = rdbStore->Query(queryPredicates, std::vector()); - if ((absSharedResultSet == nullptr) || (!absSharedResultSet->HasBlock())) { - CM_LOG_E("absSharedResultSet is invalid"); + std::shared_ptr absSharedResultSet = + rdbStore->Query(queryPredicates, std::vector()); + if (absSharedResultSet == nullptr) { + CM_LOG_E("absSharedResultSet is nullptr"); + return nullptr; + } + if (!absSharedResultSet->HasBlock()) { + CM_LOG_E("absSharedResultSet query failed"); + absSharedResultSet->Close(); return nullptr; } return absSharedResultSet;