]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
util/byte: adjust checks for integer parser return
authorJuliana Fajardini <jufajardini@oisf.net>
Tue, 5 Aug 2025 15:44:29 +0000 (12:44 -0300)
committerVictor Julien <victor@inliniac.net>
Fri, 8 Aug 2025 06:16:51 +0000 (08:16 +0200)
As part of the fixes for lto checks.

src/detect-byte-extract.c
src/detect-cipservice.c
src/detect-mqtt-qos.c
src/detect-mqtt-reason-code.c
src/util-radix-tree.c

index 81bf37a455252cbd7f2369e6d89aa0375cda7c26..5bb1ef21d06cb10f93ed148dc93eefc466b7d273 100644 (file)
@@ -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);
index 00b9a75ca0995a246571e99e9cd72915c9a7a4eb..204c26045f4a651055d26456177267027f1d731e 100644 (file)
@@ -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);
index 07aa834dc20d0c0cf4d10dcd5e13b3ebc6060404..0c031955cdef54b1abbb3738670a4e624530ebc0 100644 (file)
@@ -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;
     }
index b193190849c64c9d2709805b2cda0b7b87598fb5..03d68fee10116a05d6ac79a68d5cb6989de9bbe5 100644 (file)
@@ -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;
     }
index e5fca2fcbe099b0f787e372b744b474e3a5ad035..b74ff0a83bde857f1d6643d49ab780249bf18544 100644 (file)
@@ -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;
         }