summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Hanselmann <public@hansmi.ch>2021-06-02 19:40:52 +0200
committerVictor Toso <victortoso@redhat.com>2021-06-18 14:40:14 +0200
commitb4c9becb807ac041a8a0593b7244e861eb1ba357 (patch)
tree4b8cb4ffb51635db1c04f864481e15fc664aa776
parentcec6167d1a668db37da70b61e68abec36db883ae (diff)
Release filter rules during fuzzing
The "filter_filter" callback receives ownership of the parsed rules, so the fuzzing code must free them. Signed-off-by: Michael Hanselmann <public@hansmi.ch> Signed-off-by: Victor Toso <victortoso@redhat.com>
-rw-r--r--fuzzing/default.options1
-rw-r--r--fuzzing/usbredirparserfuzz.cc2
2 files changed, 2 insertions, 1 deletions
diff --git a/fuzzing/default.options b/fuzzing/default.options
index f9d0965..77ad380 100644
--- a/fuzzing/default.options
+++ b/fuzzing/default.options
@@ -1,2 +1 @@
[libfuzzer]
-detect_leaks=0
diff --git a/fuzzing/usbredirparserfuzz.cc b/fuzzing/usbredirparserfuzz.cc
index 33e5fb2..aabb870 100644
--- a/fuzzing/usbredirparserfuzz.cc
+++ b/fuzzing/usbredirparserfuzz.cc
@@ -30,6 +30,7 @@
#include <fuzzer/FuzzedDataProvider.h>
+#include "usbredirfilter.h"
#include "usbredirparser.h"
namespace {
@@ -228,6 +229,7 @@ void parser_filter_reject(void *priv)
void parser_filter_filter(void *priv,
struct usbredirfilter_rule *rules, int rules_count)
{
+ usbredirfilter_free(rules);
}
void dump_data(const uint8_t *data, const int len)