diff options
author | NeilBrown <neilb@suse.com> | 2016-08-03 13:17:47 -0400 |
---|---|---|
committer | Steve Dickson <steved@redhat.com> | 2016-08-03 14:25:03 -0400 |
commit | 3a6174984dae93827dcbd269eb990f106f0ba2ed (patch) | |
tree | 5c02a2534de96374f3ecfb717a022e813a2c9100 | |
parent | 2d0683f3843446a479cd9c451ea01e005937eebb (diff) | |
download | nfs-utils-3a6174984dae93827dcbd269eb990f106f0ba2ed.tar.gz |
mount: fix memory leak in v4root_add_parents
If pseudofs_update failed, we weren't freeing 'path'.
Acked-by: J. Bruce Fields <bfields@fieldses.org>
Signed-off-by: NeilBrown <neilb@suse.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
-rw-r--r-- | utils/mountd/v4root.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/utils/mountd/v4root.c b/utils/mountd/v4root.c index d521725..f978f4c 100644 --- a/utils/mountd/v4root.c +++ b/utils/mountd/v4root.c @@ -152,6 +152,7 @@ static int v4root_add_parents(nfs_export *exp) char *hostname = exp->m_export.e_hostname; char *path; char *ptr; + int ret = 0; path = strdup(exp->m_export.e_path); if (!path) { @@ -160,19 +161,18 @@ static int v4root_add_parents(nfs_export *exp) return -ENOMEM; } for (ptr = path; ptr; ptr = strchr(ptr, '/')) { - int ret; char saved; saved = *ptr; *ptr = '\0'; ret = pseudofs_update(hostname, *path ? path : "/", exp); if (ret) - return ret; + break; *ptr = saved; ptr++; } free(path); - return 0; + return ret; } /* |