aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAustin Hu <austin.hu@intel.com>2017-05-09 21:30:13 +0000
committerandroid-build-merger <android-build-merger@google.com>2017-05-09 21:30:13 +0000
commit8cae226f534a504f385084d1b04f4af466a16990 (patch)
tree48c380536179899be66fe245127e0bc1a97da7d5
parentac747113d4f6739b1462ca7fb40f2091691e209b (diff)
parentba6cd22cc9dbadb14dad331ef6ddc8b1e403a654 (diff)
downloadlibwsbm-8cae226f534a504f385084d1b04f4af466a16990.tar.gz
am: ba6cd22cc9 Change-Id: Id0b6c7d39acda75cd07d38c58dd64e9ce64b7a9a
-rw-r--r--src/wsbm_manager.c13
-rw-r--r--src/wsbm_slabpool.c4
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) {