From: Victor Julien Date: Tue, 26 Apr 2022 18:01:19 +0000 (+0200) Subject: datasets: fix cppcheck warning X-Git-Tag: suricata-5.0.10~70 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1c3acf72faa197e90a037263b50c5178ef723dcc;p=thirdparty%2Fsuricata.git datasets: fix cppcheck warning 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) --- diff --git a/src/datasets.c b/src/datasets.c index e4ad194f70..48619f4728 100644 --- a/src/datasets.c +++ b/src/datasets.c @@ -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 };