From 4e4d41d369f74b49a79b1f9862c40f28aa0b8575 Mon Sep 17 00:00:00 2001 From: Juliana Fajardini Date: Tue, 5 Aug 2025 12:44:29 -0300 Subject: [PATCH] util/byte: adjust checks for integer parser return As part of the fixes for lto checks. --- src/detect-byte-extract.c | 2 +- src/detect-cipservice.c | 2 +- src/detect-mqtt-qos.c | 2 +- src/detect-mqtt-reason-code.c | 2 +- src/util-radix-tree.c | 6 +++--- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/detect-byte-extract.c b/src/detect-byte-extract.c index 81bf37a455..5bb1ef21d0 100644 --- a/src/detect-byte-extract.c +++ b/src/detect-byte-extract.c @@ -320,7 +320,7 @@ static inline DetectByteExtractData *DetectByteExtractParse(DetectEngineCtx *de_ uint16_t multiplier; if (StringParseU16RangeCheck(&multiplier, 10, 0, (const char *)multiplier_str, DETECT_BYTE_EXTRACT_MULTIPLIER_MIN_LIMIT, - DETECT_BYTE_EXTRACT_MULTIPLIER_MAX_LIMIT) < 0) { + DETECT_BYTE_EXTRACT_MULTIPLIER_MAX_LIMIT) <= 0) { SCLogError("Invalid value for" "multiplier: \"%s\".", multiplier_str); diff --git a/src/detect-cipservice.c b/src/detect-cipservice.c index 00b9a75ca0..204c26045f 100644 --- a/src/detect-cipservice.c +++ b/src/detect-cipservice.c @@ -347,7 +347,7 @@ static DetectEnipCommandData *DetectEnipCommandParse(const char *rulestr) } uint16_t cmd; - if (StringParseUint16(&cmd, 10, 0, rulestr) < 0) { + if (StringParseUint16(&cmd, 10, 0, rulestr) <= 0) { SCLogError("invalid ENIP command" ": \"%s\"", rulestr); diff --git a/src/detect-mqtt-qos.c b/src/detect-mqtt-qos.c index 07aa834dc2..0c031955cd 100644 --- a/src/detect-mqtt-qos.c +++ b/src/detect-mqtt-qos.c @@ -108,7 +108,7 @@ static uint8_t *DetectMQTTQosParse(const char *rawstr) uint8_t val; ret = StringParseU8RangeCheck(&val, 10, 0, rawstr, 0, 2); - if (ret < 0) { + if (ret <= 0) { SCLogError("invalid MQTT QOS level: %s", rawstr); return NULL; } diff --git a/src/detect-mqtt-reason-code.c b/src/detect-mqtt-reason-code.c index b193190849..03d68fee10 100644 --- a/src/detect-mqtt-reason-code.c +++ b/src/detect-mqtt-reason-code.c @@ -126,7 +126,7 @@ static uint8_t *DetectMQTTReasonCodeParse(const char *rawstr) uint8_t val; ret = StringParseUint8(&val, 10, 0, rawstr); - if (ret < 0) { + if (ret <= 0) { SCLogError("invalid MQTT reason code: %s", rawstr); return NULL; } diff --git a/src/util-radix-tree.c b/src/util-radix-tree.c index e5fca2fcbe..b74ff0a83b 100644 --- a/src/util-radix-tree.c +++ b/src/util-radix-tree.c @@ -1032,7 +1032,7 @@ bool SCRadixAddKeyIPV4String(const char *str, SCRadixTree *tree, void *user) } /* Get binary values for cidr mask */ - if (StringParseU8RangeCheck(&cidr, 10, 0, (const char *)mask_str, 0, 32) < 0) { + if (StringParseU8RangeCheck(&cidr, 10, 0, (const char *)mask_str, 0, 32) <= 0) { sc_errno = SC_EINVAL; return false; } @@ -1096,7 +1096,6 @@ bool SCRadixAddKeyIPV6String(const char *str, SCRadixTree *tree, void *user) /* Does it have a mask? */ if (NULL != (mask_str = strchr(ip_str, '/'))) { - uint8_t cidr; *(mask_str++) = '\0'; /* Dotted type netmask not supported (yet) */ @@ -1105,8 +1104,9 @@ bool SCRadixAddKeyIPV6String(const char *str, SCRadixTree *tree, void *user) return false; } + uint8_t cidr; /* Get binary values for cidr mask */ - if (StringParseU8RangeCheck(&cidr, 10, 0, (const char *)mask_str, 0, 128) < 0) { + if (StringParseU8RangeCheck(&cidr, 10, 0, (const char *)mask_str, 0, 128) <= 0) { sc_errno = SC_EINVAL; return false; } -- 2.47.2