From 511496a608be4ce2c0189ab0021d05ef2434da89 Mon Sep 17 00:00:00 2001
From: fujuntang <fujuntang@smartai.com>
Date: 星期二, 31 八月 2021 17:32:53 +0800
Subject: [PATCH] Fix the topics parse issue when very long topics are given.
---
src/bh_api.cpp | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/bh_api.cpp b/src/bh_api.cpp
index b4ba52e..9de5c0b 100644
--- a/src/bh_api.cpp
+++ b/src/bh_api.cpp
@@ -343,7 +343,7 @@
total -= min;
- if ((_input.amount > 1) && (i < (_input.amount - 1))) {
+ if ((total > 1) && (_input.amount > 1) && (i < (_input.amount - 1))) {
strncpy(topics_buf + count, STR_MAGIC, strlen(STR_MAGIC));
total -= 1;
count++;
@@ -775,9 +775,9 @@
strncpy(topics_buf + count, _input.topics[i], min);
count += min;
- total -= strlen(_input.topics[i]);
+ total -= min;
- if ((_input.amount > 1) && (i < (_input.amount - 1))) {
+ if ((total > 1) && (_input.amount > 1) && (i < (_input.amount - 1))) {
strncpy(topics_buf + count, STR_MAGIC, strlen(STR_MAGIC));
total -= 1;
count++;
@@ -914,7 +914,7 @@
int node_arr_len = 0;
#if defined(PRO_DE_SERIALIZE)
- struct _MsgPublish
+ struct MsgPublish
{
const char *topic;
const char *data;
--
Gitblit v1.8.0