From: Zbigniew Jędrzejewski-Szmek Date: Fri, 6 Dec 2019 09:40:20 +0000 (+0100) Subject: shared/loop-util: fix leak of fd in error path X-Git-Tag: v245-rc1~261^2~6 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ba5450f4119c75ad9e3214bf4edeecb4d3f55a06;p=thirdparty%2Fsystemd.git shared/loop-util: fix leak of fd in error path --- diff --git a/src/shared/loop-util.c b/src/shared/loop-util.c index 05b0d51d979..c3d8f81d087 100644 --- a/src/shared/loop-util.c +++ b/src/shared/loop-util.c @@ -58,7 +58,7 @@ int loop_device_make_full( } if (offset == 0 && IN_SET(size, 0, UINT64_MAX)) { - int copy; + _cleanup_close_ int copy = -1; /* If this is already a block device, store a copy of the fd as it is */ @@ -71,7 +71,7 @@ int loop_device_make_full( return -ENOMEM; *d = (LoopDevice) { - .fd = copy, + .fd = TAKE_FD(copy), .nr = nr, .node = TAKE_PTR(loopdev), .relinquished = true, /* It's not allocated by us, don't destroy it when this object is freed */