From d46a76cd7bb2b657a6daabbe18b993abeedb2d94 Mon Sep 17 00:00:00 2001 From: Sebastien Buisson Date: Tue, 2 Apr 2013 16:55:14 +0200 Subject: [PATCH] LU-3088 build: fix 'resource leak' errors Fix 'resource leak' defects found by Coverity version 6.5.1: Resource leak (RESOURCE_LEAK) Variable going out of scope leaks the storage it points to. Signed-off-by: Sebastien Buisson Change-Id: I12312b081ea735118d5375c0dc9c20ead5ed9286 Reviewed-on: http://review.whamcloud.com/5918 Reviewed-by: Dmitry Eremin Tested-by: Hudson Tested-by: Maloo Reviewed-by: John Hammond Reviewed-by: Andreas Dilger --- lustre/ofd/ofd_dev.c | 2 +- lustre/osd-zfs/osd_oi.c | 2 +- lustre/osp/osp_dev.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lustre/ofd/ofd_dev.c b/lustre/ofd/ofd_dev.c index 6fde94e..0719d7d 100644 --- a/lustre/ofd/ofd_dev.c +++ b/lustre/ofd/ofd_dev.c @@ -553,7 +553,7 @@ int ofd_fid_init(const struct lu_env *env, struct ofd_device *ofd) OBD_ALLOC_PTR(ss->ss_client_seq); if (ss->ss_client_seq == NULL) - GOTO(out_free, -ENOMEM); + GOTO(out_free, rc = -ENOMEM); snprintf(name, strlen(obd_name) + 6, "%p-super", obd_name); rc = seq_client_init(ss->ss_client_seq, NULL, LUSTRE_SEQ_DATA, diff --git a/lustre/osd-zfs/osd_oi.c b/lustre/osd-zfs/osd_oi.c index 918cbe9..36e588d 100644 --- a/lustre/osd-zfs/osd_oi.c +++ b/lustre/osd-zfs/osd_oi.c @@ -350,7 +350,7 @@ static struct osd_seq *osd_find_or_add_seq(const struct lu_env *env, sprintf(key, "d%d", i); rc = osd_oi_find_or_create(env, osd, odb, key, &sdb); if (rc) - GOTO(out, osd_seq = ERR_PTR(rc)); + GOTO(out, rc); osd_seq->os_compat_dirs[i] = sdb; } diff --git a/lustre/osp/osp_dev.c b/lustre/osp/osp_dev.c index a5819ca..cc4a1ae 100644 --- a/lustre/osp/osp_dev.c +++ b/lustre/osp/osp_dev.c @@ -665,7 +665,7 @@ static int osp_init0(const struct lu_env *env, struct osp_device *m, OBD_ALLOC(cli->cl_rpc_lock, sizeof(*cli->cl_rpc_lock)); if (!cli->cl_rpc_lock) - RETURN(-ENOMEM); + GOTO(out_fini, rc = -ENOMEM); osp_init_rpc_lock(cli->cl_rpc_lock); } -- 1.8.3.1