From cc449379d9932c2fec23c5b8e838e01c837660a7 Mon Sep 17 00:00:00 2001 From: Ian Campbell Date: Wed, 3 Feb 2016 10:10:01 +0000 Subject: [PATCH] libxenforeignmemory: handle partial failure correctly Coverity rightly points out that checking for ret == NULL and then calling osdep unmap(ret) is wrong. The intention on this code path is to turn partial failure into total failure when the err argument is NULL, so we want to take this patch whenever ret is _non_ NULL (and err_to_free is set, indicating err was NULL). CID: 1351219 Signed-off-by: Ian Campbell Acked-by: Wei Liu --- tools/libs/foreignmemory/core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/libs/foreignmemory/core.c b/tools/libs/foreignmemory/core.c index cfb0a7373d..a5110a765c 100644 --- a/tools/libs/foreignmemory/core.c +++ b/tools/libs/foreignmemory/core.c @@ -78,7 +78,7 @@ void *xenforeignmemory_map(xenforeignmemory_handle *fmem, ret = osdep_xenforeignmemory_map(fmem, dom, prot, num, arr, err); - if ( ret == 0 && err_to_free ) + if ( ret && err_to_free ) { int i; -- 2.39.5