open_by_handle() calls handle_to_fshandle() which
allocates an fshandle on the heap, which is never
freed by open_by_handle(). There is no need to
call handle_to_fshandle() though, just pass the
fhandle (rather than fshandle) to handle_to_fsfd(),
like the other *_by_handle() functions do.
Signed-off-by: Bill Kendall <wkendall@xxxxxxx>
---
libhandle/handle.c | 7 +------
1 files changed, 1 insertions(+), 6 deletions(-)
diff --git a/libhandle/handle.c b/libhandle/handle.c
index c3a6129..b1ec5f2 100644
--- a/libhandle/handle.c
+++ b/libhandle/handle.c
@@ -292,14 +292,9 @@ open_by_handle(
{
int fsfd;
char *path;
- void *fshanp;
- size_t fshlen;
xfs_fsop_handlereq_t hreq;
- if (handle_to_fshandle(hanp, hlen, &fshanp, &fshlen) != 0)
- return -1;
-
- if ((fsfd = handle_to_fsfd(fshanp, &path)) < 0)
+ if ((fsfd = handle_to_fsfd(hanp, &path)) < 0)
return -1;
hreq.fd = 0;
--
1.7.0.4
|