mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-07 17:28:15 +00:00
util: virFileIsSharedFixFUSE: Refactor cleanup
Automatically free memory of 'canonPath' so that the failure of 'setmntent' doesn't have to go to 'cleanup'. This allows us to remove the cleanup section and the 'ret' variable as the rest of the function can't fail. Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
parent
6db3cc8bc3
commit
51741c40b8
@ -3333,24 +3333,19 @@ virFileIsSharedFixFUSE(const char *path,
|
||||
char mntbuf[1024];
|
||||
char *mntDir = NULL;
|
||||
char *mntType = NULL;
|
||||
char *canonPath = NULL;
|
||||
g_autofree char *canonPath = NULL;
|
||||
size_t maxMatching = 0;
|
||||
int ret = -1;
|
||||
|
||||
if (!(canonPath = virFileCanonicalizePath(path))) {
|
||||
virReportSystemError(errno,
|
||||
_("unable to canonicalize %s"),
|
||||
path);
|
||||
virReportSystemError(errno, _("unable to canonicalize %s"), path);
|
||||
return -1;
|
||||
}
|
||||
|
||||
VIR_DEBUG("Path canonicalization: %s->%s", path, canonPath);
|
||||
|
||||
if (!(f = setmntent(PROC_MOUNTS, "r"))) {
|
||||
virReportSystemError(errno,
|
||||
_("Unable to open %s"),
|
||||
PROC_MOUNTS);
|
||||
goto cleanup;
|
||||
virReportSystemError(errno, _("Unable to open %s"), PROC_MOUNTS);
|
||||
return -1;
|
||||
}
|
||||
|
||||
while (getmntent_r(f, &mb, mntbuf, sizeof(mntbuf))) {
|
||||
@ -3372,6 +3367,8 @@ virFileIsSharedFixFUSE(const char *path,
|
||||
}
|
||||
}
|
||||
|
||||
endmntent(f);
|
||||
|
||||
if (STREQ_NULLABLE(mntType, "fuse.glusterfs")) {
|
||||
VIR_DEBUG("Found gluster FUSE mountpoint=%s for path=%s. "
|
||||
"Fixing shared FS type", mntDir, canonPath);
|
||||
@ -3382,13 +3379,9 @@ virFileIsSharedFixFUSE(const char *path,
|
||||
*f_type = QB_MAGIC;
|
||||
}
|
||||
|
||||
ret = 0;
|
||||
cleanup:
|
||||
VIR_FREE(canonPath);
|
||||
VIR_FREE(mntType);
|
||||
VIR_FREE(mntDir);
|
||||
endmntent(f);
|
||||
return ret;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user