From 49759493eb1e3af9cba918721b0f945dd153a18c Mon Sep 17 00:00:00 2001 From: Riccardo Magliocchetti Date: Mon, 11 Feb 2013 22:18:01 +0100 Subject: [PATCH] afpd/colume: fix a couple of memory leaks Reported by Coverity as CID #201199, #201200. --- etc/afpd/volume.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/etc/afpd/volume.c b/etc/afpd/volume.c index 8798635a..88677155 100644 --- a/etc/afpd/volume.c +++ b/etc/afpd/volume.c @@ -176,13 +176,18 @@ static int get_tm_used(struct vol * restrict vol) EC_NULL_LOG( infoplist = bformat("%s/%s/%s", vol->v_path, entry->d_name, "Info.plist") ); - if ((bandsize = get_tm_bandsize(cfrombstr(infoplist))) == -1) + if ((bandsize = get_tm_bandsize(cfrombstr(infoplist))) == -1) { + bdestroy(infoplist); continue; + } EC_NULL_LOG( bandsdir = bformat("%s/%s/%s/", vol->v_path, entry->d_name, "bands") ); - if ((links = get_tm_bands(cfrombstr(bandsdir))) == -1) + if ((links = get_tm_bands(cfrombstr(bandsdir))) == -1) { + bdestroy(infoplist); + bdestroy(bandsdir); continue; + } used += (links - 1) * bandsize; LOG(log_debug, logtype_afpd, "getused(\"%s\"): bands: %" PRIu64 " bytes", -- 2.39.2