提交 fbfd71df 编写于 作者: J jianjian

fix: fatfs memory leak

Signed-off-by: Njianjian <xingjian_liu@yeah.net>
上级 36e5124c
......@@ -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;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册