mirror of
https://github.com/torvalds/linux.git
synced 2026-09-23 13:14:02 +02:00
exfat: free new directory cluster if zeroing fails
exfat_alloc_new_dir() allocates a cluster for a new directory before zeroing it. If exfat_zeroed_cluster() fails, the function returns the error but leaves the allocated cluster in use. Free the newly allocated cluster before returning the zeroing error. Signed-off-by: Yichong Chen <chenyichong@uniontech.com> Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
This commit is contained in:
parent
896fcc9357
commit
ce12a39bed
|
|
@ -299,7 +299,13 @@ int exfat_alloc_new_dir(struct inode *inode, struct exfat_chain *clu)
|
|||
if (ret)
|
||||
return ret;
|
||||
|
||||
return exfat_zeroed_cluster(inode, clu->dir);
|
||||
ret = exfat_zeroed_cluster(inode, clu->dir);
|
||||
if (ret) {
|
||||
exfat_free_cluster(inode, clu);
|
||||
return ret;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int exfat_calc_num_entries(struct exfat_uni_name *p_uniname)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user