mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2025-01-12 19:20:28 +03:00
Fix memory/fd leak in check_file() and is_spare()
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: liuhuang <liu.huang@zte.com.cn> Closes #5085
This commit is contained in:
parent
89f67518e1
commit
bd296705d5
@ -334,8 +334,11 @@ check_file(const char *file, boolean_t force, boolean_t isspare)
|
||||
/*
|
||||
* Allow hot spares to be shared between pools.
|
||||
*/
|
||||
if (state == POOL_STATE_SPARE && isspare)
|
||||
if (state == POOL_STATE_SPARE && isspare) {
|
||||
free(name);
|
||||
(void) close(fd);
|
||||
return (0);
|
||||
}
|
||||
|
||||
if (state == POOL_STATE_ACTIVE ||
|
||||
state == POOL_STATE_SPARE || !force) {
|
||||
@ -583,8 +586,10 @@ is_spare(nvlist_t *config, const char *path)
|
||||
free(name);
|
||||
(void) close(fd);
|
||||
|
||||
if (config == NULL)
|
||||
if (config == NULL) {
|
||||
nvlist_free(label);
|
||||
return (B_TRUE);
|
||||
}
|
||||
|
||||
verify(nvlist_lookup_uint64(label, ZPOOL_CONFIG_GUID, &guid) == 0);
|
||||
nvlist_free(label);
|
||||
|
Loading…
Reference in New Issue
Block a user