chiark / gitweb /
journal: don't allow adding invalid matches to the context
[elogind.git] / src / journal / sd-journal.c
index 09ce949d3bd21a1f5e6d9be65f69e2af504f8274..9f46f5c6aa4d85e3fa3f02ec2e7cc6a0b28455cb 100644 (file)
@@ -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