]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
logind: Use hashmap_ensure_put
authorSusant Sahani <ssahani@vmware.com>
Wed, 20 Jan 2021 11:51:08 +0000 (12:51 +0100)
committerSusant Sahani <ssahani@vmware.com>
Wed, 20 Jan 2021 14:09:03 +0000 (15:09 +0100)
src/login/logind-brightness.c

index a6a16033965855cabffe5c362c8b447d6f75be96..f4306749ec00ac8ba497624b5caddc3ab8742f41 100644 (file)
@@ -217,10 +217,6 @@ int manager_write_brightness(
                 return 0;
         }
 
-        r = hashmap_ensure_allocated(&m->brightness_writers, &brightness_writer_hash_ops);
-        if (r < 0)
-                return log_oom();
-
         w = new(BrightnessWriter, 1);
         if (!w)
                 return log_oom();
@@ -234,9 +230,12 @@ int manager_write_brightness(
         if (!w->path)
                 return log_oom();
 
-        r = hashmap_put(m->brightness_writers, w->path, w);
+        r = hashmap_ensure_put(&m->brightness_writers, &brightness_writer_hash_ops, w->path, w);
+        if (r == -ENOMEM)
+                return log_oom();
         if (r < 0)
                 return log_error_errno(r, "Failed to add brightness writer to hashmap: %m");
+
         w->manager = m;
 
         r = set_add_message(&w->current_messages, message);