diff options
| author | Leah Rowe <leah@libreboot.org> | 2026-03-25 21:07:56 +0000 |
|---|---|---|
| committer | Leah Rowe <leah@libreboot.org> | 2026-03-26 06:59:42 +0000 |
| commit | 1e79219bea878b092b6a833b30f2f3a86aebbc33 (patch) | |
| tree | 916864855588c15beea1d8d3c10df2e1c60a3ef5 /util/libreboot-utils | |
| parent | ee4f765719a8d8882466744ac310196e8f954d4b (diff) | |
lbutils: new function, mkrbuf (random malloc)
Signed-off-by: Leah Rowe <leah@libreboot.org>
Diffstat (limited to 'util/libreboot-utils')
| -rw-r--r-- | util/libreboot-utils/include/common.h | 1 | ||||
| -rw-r--r-- | util/libreboot-utils/lib/rand.c | 18 |
2 files changed, 17 insertions, 2 deletions
diff --git a/util/libreboot-utils/include/common.h b/util/libreboot-utils/include/common.h index 98fcfc27..c4ee75e0 100644 --- a/util/libreboot-utils/include/common.h +++ b/util/libreboot-utils/include/common.h @@ -384,6 +384,7 @@ int dcat(const char *s, size_t n, */ unsigned short hextonum(char ch_s); +void *mkrbuf(size_t n); void rset(void *buf, size_t n); /* Helper functions for command: dump diff --git a/util/libreboot-utils/lib/rand.c b/util/libreboot-utils/lib/rand.c index 31221d61..e67b7058 100644 --- a/util/libreboot-utils/lib/rand.c +++ b/util/libreboot-utils/lib/rand.c @@ -67,6 +67,21 @@ * or your program dies. */ +void * +mkrbuf(size_t n) +{ + void *buf; + + if (n == 0) + err_no_cleanup(0, EPERM, "mkrbuf: zero-byte request"); + + if ((buf = malloc(n)) == NULL) + err_no_cleanup(0, ENOMEM, "mkrbuf: malloc"); + + rset(buf, n); + return buf; /* basically malloc() but with rand */ +} + void rset(void *buf, size_t n) { @@ -76,8 +91,7 @@ rset(void *buf, size_t n) goto err; if (n == 0) - err_no_cleanup(0, EPERM, - "rset: zero-byte length request"); + err_no_cleanup(0, EPERM, "rset: zero-byte request"); #if (defined(__OpenBSD__) || defined(__FreeBSD__) || \ defined(__NetBSD__) || defined(__APPLE__) || \ |
