From b29a24d07c136192c7144d6aeacbd4c977ff6c0b Mon Sep 17 00:00:00 2001 From: Rafał Miłecki Date: Thu, 30 Jul 2009 00:32:08 +0200 Subject: userpool: check wsbmBufStorageInit returned value --- src/wsbm_userpool.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/wsbm_userpool.c b/src/wsbm_userpool.c index f7833b7..c8fb95b 100644 --- a/src/wsbm_userpool.c +++ b/src/wsbm_userpool.c @@ -206,11 +206,15 @@ pool_create(struct _WsbmBufferPool *pool, { struct _WsbmUserPool *p = containerOf(pool, struct _WsbmUserPool, pool); struct _WsbmUserBuffer *vBuf = calloc(1, sizeof(*vBuf)); + int ret; if (!vBuf) return NULL; - wsbmBufStorageInit(&vBuf->buf, pool); + ret = wsbmBufStorageInit(&vBuf->buf, pool); + if (ret) + goto out_err; + vBuf->sysmem = NULL; vBuf->proposedPlacement = placement; vBuf->size = size; @@ -264,6 +268,7 @@ pool_create(struct _WsbmBufferPool *pool, if (vBuf->sysmem != NULL || (!(vBuf->kBuf.placement & WSBM_PL_FLAG_SYSTEM))) return &vBuf->buf; + out_err: free(vBuf); return NULL; -- cgit v1.2.3