| To: | xfs@xxxxxxxxxxx |
|---|---|
| Subject: | [PATCH 5/6] xfs_io: fix leaks in parent_list() |
| From: | Eric Sandeen <sandeen@xxxxxxxxxx> |
| Date: | Fri, 1 Aug 2014 09:59:18 -0500 |
| Delivered-to: | xfs@xxxxxxxxxxx |
| In-reply-to: | <1406905159-12415-1-git-send-email-sandeen@xxxxxxxxxx> |
| References: | <1406905159-12415-1-git-send-email-sandeen@xxxxxxxxxx> |
parent_list() has instances where a handle is leaked,
both by going out of scope, and on error paths.
Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx>
---
io/parent.c | 6 ++++--
1 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/io/parent.c b/io/parent.c
index 56e126d..0313119 100644
--- a/io/parent.c
+++ b/io/parent.c
@@ -293,7 +293,7 @@ print_parent_entry(parent_t *parent, int fullpath)
static int
parent_list(int fullpath)
{
- void *handlep;
+ void *handlep = NULL;
size_t handlen;
int error, i;
int retval = 1;
@@ -313,6 +313,7 @@ parent_list(int fullpath)
progname, path, strerror(errno));
goto error;
}
+ free_handle(fshandle, fshlen);
}
if (path_to_handle(path, &handlep, &handlen) != 0) {
@@ -325,7 +326,7 @@ parent_list(int fullpath)
if (!parentbuf) {
fprintf(stderr, _("%s: unable to allocate parent
buffer: %s\n"),
progname, strerror(errno));
- return 1;
+ goto error;
}
if (fullpath) {
@@ -365,6 +366,7 @@ parent_list(int fullpath)
retval = 0;
error:
+ free(handlep);
free(parentbuf);
return retval;
}
--
1.7.1
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | [PATCH 0/6] xfsprogs: fix resource leaks, Eric Sandeen |
|---|---|
| Next by Date: | [PATCH 6/6] xfs_db: free flist on error in write_struct(), Eric Sandeen |
| Previous by Thread: | [PATCH 0/6] xfsprogs: fix resource leaks, Eric Sandeen |
| Next by Thread: | Re: [PATCH 5/6] xfs_io: fix leaks in parent_list(), Brian Foster |
| Indexes: | [Date] [Thread] [Top] [All Lists] |