From cc5a2ee10a4169d9b11b8172a83d9032aa8ae56c Mon Sep 17 00:00:00 2001 From: glichtner Date: Fri, 4 Apr 2025 14:13:21 +0200 Subject: [PATCH] fix(unit): use correct byte length for enum resolution in procGetUnit --- src/unit.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/unit.c b/src/unit.c index 1b478890..47d7b791 100644 --- a/src/unit.c +++ b/src/unit.c @@ -469,8 +469,8 @@ int procGetUnit(unitPtr uPtr, char *recvBuf, int recvLen, char *result, char bit return -1; } logIT(LOG_INFO, "Res: (Hex max. 4 bytes) %08x", ergI); - res = ergI; - if ( uPtr->ePtr && bytes2Enum(uPtr->ePtr, &res, &tPtr, recvLen)) { + res = ergI & 0xFF; // Use only the lowest byte of ergI as input to enum lookup + if (uPtr->ePtr && bytes2Enum(uPtr->ePtr, &res, &tPtr, 1)) { strcpy(result, tPtr); return 1; } else {