diff options
-rw-r--r-- | src/journal/sd-journal.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/journal/sd-journal.c b/src/journal/sd-journal.c index 09ce949d3b..9f46f5c6aa 100644 --- a/src/journal/sd-journal.c +++ b/src/journal/sd-journal.c @@ -115,7 +115,11 @@ _public_ int sd_journal_add_match(sd_journal *j, const void *data, size_t size) return -EINVAL; if (!data) return -EINVAL; - if (size <= 0) + if (size <= 1) + return -EINVAL; + if (!memchr(data, '=', size)) + return -EINVAL; + if (*(char*) data == '=') return -EINVAL; /* FIXME: iterating with multiple matches is currently |