The src of pool is not changed in each loop,
so don't VIR_FREE(src) and get when next iteration.
Signed-off-by: Yi Li <yili(a)winhong.com>
---
src/storage/storage_backend_fs.c | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/src/storage/storage_backend_fs.c b/src/storage/storage_backend_fs.c
index 02b8248..27c1098 100644
--- a/src/storage/storage_backend_fs.c
+++ b/src/storage/storage_backend_fs.c
@@ -258,10 +258,10 @@
virStorageBackendFileSystemIsMounted(virStoragePoolObjPtr pool)
goto cleanup;
}
- while ((getmntent_r(mtab, &ent, buf, sizeof(buf))) != NULL) {
- if (!(src = virStorageBackendFileSystemGetPoolSource(pool)))
- goto cleanup;
+ if ((src = virStorageBackendFileSystemGetPoolSource(pool)) == NULL)
+ goto cleanup;
+ while ((getmntent_r(mtab, &ent, buf, sizeof(buf))) != NULL) {
/* compare both mount destinations and sources to be sure the mounted
* FS pool is really the one we're looking for
*/
@@ -273,8 +273,6 @@
virStorageBackendFileSystemIsMounted(virStoragePoolObjPtr pool)
ret = 1;
goto cleanup;
}
-
- VIR_FREE(src);
}
ret = 0;
--
2.7.5