aboutsummaryrefslogtreecommitdiff
path: root/backend/multi
diff options
context:
space:
mode:
authorCalvin Lee <cyrus296@gmail.com>2017-08-15 07:56:47 +0200
committerCalvin Lee <cyrus296@gmail.com>2017-08-15 08:04:57 +0200
commit5cc7342606dbbd5e6932b39e6b1b5645164669bf (patch)
treef4cdef098650e5d0ac2f9ca3237f2f789db1d3fe /backend/multi
parent5ca88af557178c0081fd408ae008686b79d6dd9c (diff)
Prevent alloc errors from crashing
Resolves #76
Diffstat (limited to 'backend/multi')
-rw-r--r--backend/multi/backend.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/backend/multi/backend.c b/backend/multi/backend.c
index 9afca47d..290b9678 100644
--- a/backend/multi/backend.c
+++ b/backend/multi/backend.c
@@ -115,7 +115,11 @@ void wlr_multi_backend_add(struct wlr_backend *_multi,
assert(wlr_backend_is_multi(_multi));
struct wlr_multi_backend *multi = (struct wlr_multi_backend *)_multi;
- struct subbackend_state *sub = calloc(1, sizeof(struct subbackend_state));
+ struct subbackend_state *sub;
+ if (!(sub = calloc(1, sizeof(struct subbackend_state)))) {
+ wlr_log(L_ERROR, "Could not add backend: allocation failed");
+ return;
+ }
sub->backend = backend;
sub->container = &multi->backend;