diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2023-10-22 18:51:23 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2023-10-22 18:51:23 (GMT) |
commit | c74d1a9d8f1430b4e4f3989b12b9953cbb8fed50 (patch) | |
tree | 65b071823601c10965878d1dcd1eb0183bf8064a /src | |
parent | d1bac978f70b6b2e729b3e03c439d17101a57be8 (diff) |
Handle the case where no common item is found from an empty set.
Diffstat (limited to 'src')
-rw-r--r-- | src/analysis/scan/items/maxcommon.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/analysis/scan/items/maxcommon.c b/src/analysis/scan/items/maxcommon.c index 2fe561f..e8c4db3 100644 --- a/src/analysis/scan/items/maxcommon.c +++ b/src/analysis/scan/items/maxcommon.c @@ -300,6 +300,12 @@ static bool g_scan_maxcommon_function_run_call(GScanMaxcommonFunction *item, GSc collected = malloc(arg0_count * sizeof(GScanExpression *)); scores = malloc(arg0_count * sizeof(size_t)); + if (arg0_count == 0) + { + best = 0; + goto quick_empty; + } + for (i = 0; i < arg0_count; i++) { #ifndef NDEBUG @@ -357,6 +363,8 @@ static bool g_scan_maxcommon_function_run_call(GScanMaxcommonFunction *item, GSc assert(best > 0); + quick_empty: + *out = G_OBJECT(g_scan_literal_expression_new(LVT_UNSIGNED_INTEGER, (unsigned long long []){ best })); exit: |