]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
boot: Add xcalloc and xcalloc_multiply
authoranonymix007 <48598263+anonymix007@users.noreply.github.com>
Sat, 31 Aug 2024 18:34:56 +0000 (21:34 +0300)
committeranonymix007 <48598263+anonymix007@users.noreply.github.com>
Fri, 11 Oct 2024 11:37:30 +0000 (14:37 +0300)
src/boot/efi/util.h

index e5f88ec5f0a9481d49d77dea1ad36d40e21509a9..35f6c80a022105c5825debc327a02670ec510145 100644 (file)
@@ -2,8 +2,10 @@
 #pragma once
 
 #include "efi.h"
+#include "efi-string.h"
 #include "log.h"
 #include "proto/file-io.h"
+#include "memory-util-fundamental.h"
 #include "string-util-fundamental.h"
 
 /* This is provided by the linker. */
@@ -31,6 +33,19 @@ static inline void freep(void *p) {
 _malloc_ _alloc_(1) _returns_nonnull_ _warn_unused_result_
 void *xmalloc(size_t size);
 
+_malloc_ _alloc_(1) _returns_nonnull_ _warn_unused_result_
+static inline void *xcalloc(size_t size) {
+        void *t = xmalloc(size);
+        memzero(t, size);
+        return t;
+}
+
+_malloc_ _alloc_(1, 2) _returns_nonnull_ _warn_unused_result_
+static inline void *xcalloc_multiply(size_t n, size_t size) {
+        assert_se(MUL_ASSIGN_SAFE(&size, n));
+        return xcalloc(size);
+}
+
 _malloc_ _alloc_(1, 2) _returns_nonnull_ _warn_unused_result_
 static inline void *xmalloc_multiply(size_t n, size_t size) {
         assert_se(MUL_ASSIGN_SAFE(&size, n));