X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fsoft-trigger.c;h=083b003a6cd6f297cd6f14f099b9a9eaab05d581;hb=d52107a1592bd0a01ab89398a29e658e49a059f5;hp=116e7b34f3086db0d82d9413c802aaceb58a0e89;hpb=c1aae90038456a61d0f9313d34e6107c3440d3e7;p=libsigrok.git diff --git a/src/soft-trigger.c b/src/soft-trigger.c index 116e7b34..083b003a 100644 --- a/src/soft-trigger.c +++ b/src/soft-trigger.c @@ -17,6 +17,7 @@ * along with this program. If not, see . */ +#include #include #include #include "libsigrok-internal.h" @@ -37,7 +38,11 @@ SR_PRIV struct soft_trigger_logic *soft_trigger_logic_new( stl->unitsize = (g_slist_length(sdi->channels) + 7) / 8; stl->prev_sample = g_malloc0(stl->unitsize); stl->pre_trigger_size = stl->unitsize * pre_trigger_samples; - stl->pre_trigger_buffer = g_malloc(stl->pre_trigger_size); + stl->pre_trigger_buffer = g_try_malloc(stl->pre_trigger_size); + if (!stl->pre_trigger_buffer) { + soft_trigger_logic_free(stl); + return NULL; + } stl->pre_trigger_head = stl->pre_trigger_buffer; if (stl->pre_trigger_size > 0 && !stl->pre_trigger_buffer) {