summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/journal/sd-journal.c6
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