]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
datasets: fix cppcheck warning
authorVictor Julien <vjulien@oisf.net>
Tue, 26 Apr 2022 18:01:19 +0000 (20:01 +0200)
committerVictor Julien <vjulien@oisf.net>
Wed, 27 Apr 2022 10:17:21 +0000 (12:17 +0200)
src/datasets.c:107:17: error: Uninitialized variable: hash [uninitvar]
    memcpy(out, hash, outs);
                ^
src/datasets.c:93:26: note: Assuming condition is false
    for (x = 0, i = 0; i < ins; i+=2, x++) {
                         ^
src/datasets.c:107:17: note: Uninitialized variable: hash
    memcpy(out, hash, outs);
                ^

Bug: #5291.

src/datasets.c

index 3964622d51a2c42542535c6b7b2ceb2775347490..c339a28a540111f38a9ac73b696773cdc16ef414 100644 (file)
@@ -83,12 +83,15 @@ static Dataset *DatasetSearchByName(const char *name)
 
 static int HexToRaw(const uint8_t *in, size_t ins, uint8_t *out, size_t outs)
 {
+    if (ins < 2)
+        return -1;
     if (ins % 2 != 0)
         return -1;
     if (outs != ins / 2)
         return -1;
 
     uint8_t hash[outs];
+    memset(hash, 0, outs);
     size_t i, x;
     for (x = 0, i = 0; i < ins; i+=2, x++) {
         char buf[3] = { 0, 0, 0 };