From 69cc7d90f9f60d95cd570a4e87755a474554d41f Mon Sep 17 00:00:00 2001 From: Gwan-gyeong Mun Date: Tue, 22 Nov 2016 00:21:23 +0900 Subject: [PATCH] util/disk_cache: close a previously opened handle in disk_cache_put (v2) We're missing the close() to the matching open(). CID 1373407 v2: Fixes from Emil Velikov's review Update the teardown in reverse order of the setup/init. Cc: "13.0" Signed-off-by: Mun Gwan-gyeong Reviewed-by: Emil Velikov Reviewed-by: Iago Toral Quiroga (v1) --- src/util/disk_cache.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/util/disk_cache.c b/src/util/disk_cache.c index 428787820e3..80dc7881d59 100644 --- a/src/util/disk_cache.c +++ b/src/util/disk_cache.c @@ -612,19 +612,18 @@ disk_cache_put(struct disk_cache *cache, p_atomic_add(cache->size, size); + done: + if (fd_final != -1) + close(fd_final); /* This close finally releases the flock, (now that the final dile * has been renamed into place and the size has been added). */ - close(fd); - fd = -1; - - done: + if (fd != -1) + close(fd); if (filename_tmp) ralloc_free(filename_tmp); if (filename) ralloc_free(filename); - if (fd != -1) - close(fd); } void * -- 2.30.2