From aa6e58b58b15aacc7c43d22224c4561f222c87e4 Mon Sep 17 00:00:00 2001 From: fengzero Date: Thu, 21 Oct 2021 10:04:04 +0000 Subject: [PATCH] modbus: limit read reg count --- plugins/modbus/modbus_point.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/plugins/modbus/modbus_point.c b/plugins/modbus/modbus_point.c index 44c7871f..e7f864be 100644 --- a/plugins/modbus/modbus_point.c +++ b/plugins/modbus/modbus_point.c @@ -437,7 +437,8 @@ static void insert_cmd(modbus_point_context_t *ctx, modbus_point_t *point) for (int i = 0; i < ctx->n_cmd; i++) { if (ctx->cmds[i].device == point->device && ctx->cmds[i].function == function) { - if (ctx->cmds[i].start_addr + ctx->cmds[i].n_reg == point->addr) { + if (ctx->cmds[i].start_addr + ctx->cmds[i].n_reg == point->addr && + ctx->cmds[i].n_reg < 126) { exist = true; if (point->value.type == MODBUS_B32) { ctx->cmds[i].n_reg += 2;