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@sgi.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Alex Elder <aelder@sgi.com>
{
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;