aboutsummaryrefslogtreecommitdiff
path: root/render
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 /render
parent5ca88af557178c0081fd408ae008686b79d6dd9c (diff)
Prevent alloc errors from crashing
Resolves #76
Diffstat (limited to 'render')
-rw-r--r--render/gles2/renderer.c6
-rw-r--r--render/gles2/texture.c6
2 files changed, 8 insertions, 4 deletions
diff --git a/render/gles2/renderer.c b/render/gles2/renderer.c
index 75a47187..27f3d33e 100644
--- a/render/gles2/renderer.c
+++ b/render/gles2/renderer.c
@@ -240,8 +240,10 @@ static struct wlr_renderer_impl wlr_renderer_impl = {
struct wlr_renderer *wlr_gles2_renderer_init(struct wlr_backend *backend) {
init_globals();
- struct wlr_gles2_renderer *renderer =
- calloc(1, sizeof(struct wlr_gles2_renderer));
+ struct wlr_gles2_renderer *renderer;
+ if (!(renderer = calloc(1, sizeof(struct wlr_gles2_renderer)))) {
+ return NULL;
+ }
wlr_renderer_init(&renderer->wlr_renderer, &wlr_renderer_impl);
if (backend) {
struct wlr_egl *egl = wlr_backend_get_egl(backend);
diff --git a/render/gles2/texture.c b/render/gles2/texture.c
index 1e80a8d6..041625fd 100644
--- a/render/gles2/texture.c
+++ b/render/gles2/texture.c
@@ -252,8 +252,10 @@ static struct wlr_texture_impl wlr_texture_impl = {
};
struct wlr_texture *gles2_texture_init(struct wlr_egl *egl) {
- struct wlr_gles2_texture *texture =
- calloc(1, sizeof(struct wlr_gles2_texture));
+ struct wlr_gles2_texture *texture;
+ if (!(texture = calloc(1, sizeof(struct wlr_gles2_texture)))) {
+ return NULL;
+ }
wlr_texture_init(&texture->wlr_texture, &wlr_texture_impl);
texture->egl = egl;
return &texture->wlr_texture;