chiark / gitweb /
manager: enforce limit on accepted number of names
[elogind.git] / unit.c
diff --git a/unit.c b/unit.c
index 5c19b3b2da32626b5da0ce15a7850db35e723420..3f2538a694a386cb920b70738b6f6083fb249cae 100644 (file)
--- a/unit.c
+++ b/unit.c
@@ -125,6 +125,11 @@ int unit_add_name(Unit *u, const char *text) {
                 goto fail;
         }
 
+        if (hashmap_size(u->meta.manager->units) >= MANAGER_MAX_NAMES) {
+                r = -E2BIG;
+                goto fail;
+        }
+
         if ((r = set_put(u->meta.names, s)) < 0) {
                 if (r == -EEXIST)
                         r = 0;