From 585ac671ed21faa9d84cbab1609f2557857e5204 Mon Sep 17 00:00:00 2001 From: zgzxx Date: Tue, 21 Nov 2023 21:21:26 +0800 Subject: [PATCH] check value for topic --- lib/secDetector_sdk.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/lib/secDetector_sdk.cpp b/lib/secDetector_sdk.cpp index 208f4ac..ee76079 100644 --- a/lib/secDetector_sdk.cpp +++ b/lib/secDetector_sdk.cpp @@ -18,7 +18,7 @@ #include #include "../observer_agent/grpc_comm/grpc_api.h" -#define ALLTOPIC 0x008FFFFF +#define ALLTOPIC 0x00FFFFFF using namespace std; static string server_address("unix:///var/run/secDetector.sock"); static PubSubClient g_client(grpc::CreateChannel(server_address, grpc::InsecureChannelCredentials())); @@ -32,8 +32,10 @@ extern "C" { void *secSub(const int topic) { - if (!(topic & ALLTOPIC)) + if (topic <= 0 || topic > ALLTOPIC) { + printf("secSub failed, topic:%d is error\n", topic); return NULL; + } unique_ptr> reader = g_client.Subscribe(topic); @@ -47,8 +49,10 @@ void *secSub(const int topic) void secUnsub(const int topic, void *reader) { - if (!(topic & ALLTOPIC)) - return; + if (topic <= 0 || topic > ALLTOPIC) { + printf("secUnsub failed, topic:%d is error\n", topic); + return; + } if (!reader) return; -- Gitee