]> 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>
Tue, 3 May 2022 11:30:17 +0000 (13:30 +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.
(cherry picked from commit ea2d0ecf08842d52f77d1a88a184a85960999e1e)

src/datasets.c

index 448e0b20cb66ea3c9aaf7f613e7433b7611761d4..5da15d904ff25a06ffc71f7089f16b87510508cc 100644 (file)
@@ -84,12 +84,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 };