fix: fatfs memory leak

Signed-off-by: jianjian <xingjian_liu@yeah.net>
This commit is contained in:
jianjian 2021-06-20 13:42:01 +08:00
parent 36e5124c0a
commit fbfd71dfe3
1 changed files with 4 additions and 3 deletions

View File

@ -576,7 +576,7 @@ int fatfs_open(struct file *filep)
ret = lock_fs(fs);
if (ret == FALSE) {
ret = EBUSY;
goto ERROR_EXIT;
goto ERROR_FREE;
}
fp->dir_sect = dp->sect;
@ -595,7 +595,7 @@ int fatfs_open(struct file *filep)
fp->buf = (BYTE*) ff_memalloc(SS(fs));
if (fp->buf == NULL) {
ret = ENOMEM;
goto ERROR_FREE;
goto ERROR_UNLOCK;
}
LOS_ListAdd(&finfo->fp_list, &fp->fp_entry);
unlock_fs(fs, FR_OK);
@ -603,8 +603,9 @@ int fatfs_open(struct file *filep)
filep->f_priv = fp;
return fatfs_sync(vp->originMount->mountFlags, fs);
ERROR_FREE:
ERROR_UNLOCK:
unlock_fs(fs, FR_OK);
ERROR_FREE:
free(fp);
ERROR_EXIT:
return -ret;