From 60d656fb0f870a8c228d6fcc72c9e3e166f33231 Mon Sep 17 00:00:00 2001 From: Andy Green Date: Thu, 12 May 2016 21:54:29 +0800 Subject: [PATCH] check oom on lws_malloc Signed-off-by: Andy Green --- lib/libuv.c | 4 ++++ lib/service.c | 2 ++ 2 files changed, 6 insertions(+) diff --git a/lib/libuv.c b/lib/libuv.c index 2870316..bdbd88d 100644 --- a/lib/libuv.c +++ b/lib/libuv.c @@ -151,6 +151,10 @@ lws_uv_initloop(struct lws_context *context, uv_loop_t *loop, uv_signal_cb cb, if (!loop) { loop = lws_malloc(sizeof(*loop)); + if (!loop) { + lwsl_err("OOM\n"); + return -1; + } uv_loop_init(loop); pt->ev_loop_foreign = 0; } else diff --git a/lib/service.c b/lib/service.c index ceab37a..15ec0f4 100644 --- a/lib/service.c +++ b/lib/service.c @@ -349,6 +349,8 @@ int lws_rxflow_cache(struct lws *wsi, unsigned char *buf, int n, int len) /* a new rxflow, buffer it and warn caller */ lwsl_info("new rxflow input buffer len %d\n", len - n); wsi->rxflow_buffer = lws_malloc(len - n); + if (!wsi->rxflow_buffer) + return -1; wsi->rxflow_len = len - n; wsi->rxflow_pos = 0; memcpy(wsi->rxflow_buffer, buf + n, len - n); -- 2.7.4