diff options
Diffstat (limited to 'src/wsbm_manager.c')
-rw-r--r-- | src/wsbm_manager.c | 13 |
1 files changed, 8 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; |