boot: Add xcalloc and xcalloc_multiply

This commit is contained in:
anonymix007
2024-10-11 14:37:30 +03:00
parent 5faaac27fd
commit 1fcdf22573
+15
View 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));