oeAware-manager/0011-fix-instance-nullptr.patch
fly_1997 a6bf13bea8 fix some bugs
(cherry picked from commit 0361f09ca97a26333b5d898a6d52cc4f9da716d1)
2024-12-30 20:15:04 +08:00

50 lines
1.9 KiB
Diff

From b1aac403051ca84e8e083359f981dec887805b6c Mon Sep 17 00:00:00 2001
From: fly_1997 <flylove7@outlook.com>
Date: Sat, 28 Dec 2024 00:34:14 +0800
Subject: [PATCH 7/7] fix instance nullptr
---
src/plugin_mgr/instance_run_handler.cpp | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/src/plugin_mgr/instance_run_handler.cpp b/src/plugin_mgr/instance_run_handler.cpp
index c38e9ea..a253119 100644
--- a/src/plugin_mgr/instance_run_handler.cpp
+++ b/src/plugin_mgr/instance_run_handler.cpp
@@ -19,6 +19,10 @@ constexpr int INSTANCE_RUN_ALWAYS = 1;
Result InstanceRunHandler::EnableInstance(const std::string &name)
{
+ if (!memoryStore->IsInstanceExist(name)) {
+ WARN(logger, "instance {" << name << "} does not exist.");
+ return Result(FAILED, "instance {" + name + "} does not exist.");
+ }
auto instance = memoryStore->GetInstance(name);
auto result = instance->interface->Enable();
if (result.code < 0) {
@@ -40,6 +44,10 @@ Result InstanceRunHandler::EnableInstance(const std::string &name)
void InstanceRunHandler::DisableInstance(const std::string &name)
{
+ if (!memoryStore->IsInstanceExist(name)) {
+ WARN(logger, "instance {" << name << "} does not exist.");
+ return;
+ }
auto instance = memoryStore->GetInstance(name);
instance->enabled = false;
instance->interface->Disable();
@@ -49,6 +57,10 @@ void InstanceRunHandler::DisableInstance(const std::string &name)
Result InstanceRunHandler::Subscribe(const std::vector<std::string> &payload)
{
Topic topic = Topic::GetTopicFromType(payload[0]);
+ if (!memoryStore->IsInstanceExist(topic.instanceName)) {
+ WARN(logger, "instance {" << topic.instanceName << "} does not exist.");
+ return Result(FAILED, "instance {" + topic.instanceName + "} does not exist.");
+ }
Result result;
constexpr int subscriberIndex = 1;
auto instance = memoryStore->GetInstance(topic.instanceName);
--
2.33.0