diff --git a/admin/autoupdater/src/util.c b/admin/autoupdater/src/util.c index 881523f..1221925 100644 --- a/admin/autoupdater/src/util.c +++ b/admin/autoupdater/src/util.c @@ -100,3 +100,15 @@ float get_uptime(void) { fputs("autoupdater: error: unable to determine uptime\n", stderr); exit(1); } + +void *safe_malloc(size_t size, char *errmsg) { + void *ret = malloc(size); + + if (ret) + return ret; + + if (errmsg) + fprintf(stderr, "autoupdater: error: %s\n", errmsg); + + abort(); +} diff --git a/admin/autoupdater/src/util.h b/admin/autoupdater/src/util.h index 5c23d79..65c0061 100644 --- a/admin/autoupdater/src/util.h +++ b/admin/autoupdater/src/util.h @@ -28,3 +28,4 @@ void run_dir(const char *dir); void randomize(void); float get_uptime(void); +void *safe_malloc(size_t size, char *errmsg);