]> 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, 4 May 2022 15:23:50 +0000 (17:23 +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 e4ad194f703936b88aa68baf1532d9e4c83dc8a4..48619f47287650fb5073b970b1f4018e58b32846 100644 (file)
@@ -82,12 +82,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 };