diff --git a/apps/radio/radioart.c b/apps/radio/radioart.c index 87d37cd52c..1fd82dae68 100644 --- a/apps/radio/radioart.c +++ b/apps/radio/radioart.c @@ -33,6 +33,7 @@ #include "string-extra.h" #include "pathfuncs.h" #include "core_alloc.h" +#include "splash.h" #define MAX_RADIOART_IMAGES 10 struct radioart { @@ -202,6 +203,12 @@ void radioart_init(bool entering_screen) /* grab control over buffering */ size_t bufsize; int handle = core_alloc_maximum("radioart", &bufsize, &radioart_ops); + if (handle <0) + { + splash(HZ, "Radioart Failed - OOM"); + return; + } + buffering_reset(core_get_data(handle), bufsize); buf = core_get_data(handle); /* one-shot */ diff --git a/apps/tagtree.c b/apps/tagtree.c index 97e0c67b62..4b118f6d0d 100644 --- a/apps/tagtree.c +++ b/apps/tagtree.c @@ -1258,6 +1258,9 @@ void tagtree_init(void) menu = NULL; rootmenu = -1; tagtree_handle = core_alloc_maximum("tagtree", &tagtree_bufsize, &ops); + if (tagtree_handle < 0) + panicf("tagtree OOM"); + if (!parse_menu(FILE_SEARCH_INSTRUCTIONS)) { tagtree_unload(NULL); diff --git a/firmware/rolo.c b/firmware/rolo.c index f4db832b2b..f1bcd0718e 100644 --- a/firmware/rolo.c +++ b/firmware/rolo.c @@ -244,7 +244,7 @@ int rolo_load(const char* filename) rolo_handle = core_alloc_maximum("rolo", &filebuf_size, NULL); if (rolo_handle < 0) { - splash(HZ, "Rolo Failed - OOM"); + rolo_error("OOM"); return -1; }