From: Eric Mei Date: Mon, 8 Feb 2010 23:57:23 +0000 (-0700) Subject: b=21278 fix a memory leak in mdd_links_get(). X-Git-Tag: 1.10.0.37~20 X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;h=dc89b0a99c82f0e9da3a0dad91763d61e3a3a4a9;p=fs%2Flustre-release.git b=21278 fix a memory leak in mdd_links_get(). i=nathan i=rahul --- diff --git a/lustre/mdd/mdd_dir.c b/lustre/mdd/mdd_dir.c index fb0c0f3..6045cf3 100644 --- a/lustre/mdd/mdd_dir.c +++ b/lustre/mdd/mdd_dir.c @@ -2278,8 +2278,7 @@ struct lu_buf *mdd_links_get(const struct lu_env *env, rc = mdo_xattr_get(env, mdd_obj, buf, XATTR_NAME_LINK, capa); if (rc == -ERANGE) { /* Buf was too small, figure out what we need. */ - buf->lb_buf = NULL; - buf->lb_len = 0; + mdd_buf_put(buf); rc = mdo_xattr_get(env, mdd_obj, buf, XATTR_NAME_LINK, capa); if (rc < 0) return ERR_PTR(rc); diff --git a/lustre/mdd/mdd_object.c b/lustre/mdd/mdd_object.c index 746cefb..99ed100 100644 --- a/lustre/mdd/mdd_object.c +++ b/lustre/mdd/mdd_object.c @@ -131,6 +131,7 @@ void mdd_buf_put(struct lu_buf *buf) else OBD_FREE(buf->lb_buf, buf->lb_len); buf->lb_buf = NULL; + buf->lb_len = 0; } const struct lu_buf *mdd_buf_get_const(const struct lu_env *env,