From ba6cd22cc9dbadb14dad331ef6ddc8b1e403a654 Mon Sep 17 00:00:00 2001 From: Austin Hu Date: Thu, 4 May 2017 11:20:30 +0800 Subject: Fixed Klocwork erros. BZ: IMINAN-51481 Fixes: 38135184 Test: Netflix, play movies, youtube Change-Id: Ica82a8be2088e42d36add13bdead4fb7469619cf Signed-off-by: Austin Hu (cherry picked from commit 7440034b901f93a56dd35aca5745ce21f62d37b7) --- src/wsbm_manager.c | 13 ++++++++----- src/wsbm_slabpool.c | 4 ++++ 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/wsbm_manager.c b/src/wsbm_manager.c index 0cbf9de..877abc6 100644 --- a/src/wsbm_manager.c +++ b/src/wsbm_manager.c @@ -1015,15 +1015,18 @@ wsbmBOCreateList(int target, int hasKernelBuffers) return NULL; list->hasKernelBuffers = hasKernelBuffers; if (hasKernelBuffers) { - ret = validateCreateList(target, &list->kernelBuffers, 0); - if (ret) - return NULL; + ret = validateCreateList(target, &list->kernelBuffers, 0); + if (ret) { + free(list); + return NULL; + } } ret = validateCreateList(target, &list->userBuffers, 1); if (ret) { - validateFreeList(&list->kernelBuffers); - return NULL; + validateFreeList(&list->kernelBuffers); + free(list); + return NULL; } return list; diff --git a/src/wsbm_slabpool.c b/src/wsbm_slabpool.c index ec6638b..1e551e3 100644 --- a/src/wsbm_slabpool.c +++ b/src/wsbm_slabpool.c @@ -463,6 +463,10 @@ wsbmAllocSlab(struct _WsbmSlabSizeHeader *header) } numBuffers = slab->kbo->actualSize / header->bufSize; + if (!numBuffers) { + ret = -ENOMEM; + goto out_err1; + } slab->buffers = calloc(numBuffers, sizeof(*slab->buffers)); if (!slab->buffers) { -- cgit v1.2.3