The empty array of rules for `assert_message_empty()` and the resulting
size 0 triggers warnings like these:
allocation of insufficient size '0' for type 'listener_message_rule_t' with size '12'
Using calloc() with `nmemb` set to 0 triggers the same warning.
.line = __LINE__, \
.incoming = streq(dir, "IN") ? TRUE : FALSE, \
.count = c, \
- .rules = malloc(sizeof(_rules)), \
+ .rules = sizeof(_rules) ? malloc(sizeof(_rules)) : NULL, \
.num_rules = countof(_rules), \
); \
memcpy(_listener->rules, _rules, sizeof(_rules)); \