!337 fix: fatfs memory leak

Merge pull request !337 from jianjian/master
This commit is contained in:
openharmony_ci 2021-06-24 05:36:29 +00:00 committed by Gitee
commit 008fa8660d
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); ret = lock_fs(fs);
if (ret == FALSE) { if (ret == FALSE) {
ret = EBUSY; ret = EBUSY;
goto ERROR_EXIT; goto ERROR_FREE;
} }
fp->dir_sect = dp->sect; fp->dir_sect = dp->sect;
@ -595,7 +595,7 @@ int fatfs_open(struct file *filep)
fp->buf = (BYTE*) ff_memalloc(SS(fs)); fp->buf = (BYTE*) ff_memalloc(SS(fs));
if (fp->buf == NULL) { if (fp->buf == NULL) {
ret = ENOMEM; ret = ENOMEM;
goto ERROR_FREE; goto ERROR_UNLOCK;
} }
LOS_ListAdd(&finfo->fp_list, &fp->fp_entry); LOS_ListAdd(&finfo->fp_list, &fp->fp_entry);
unlock_fs(fs, FR_OK); unlock_fs(fs, FR_OK);
@ -603,8 +603,9 @@ int fatfs_open(struct file *filep)
filep->f_priv = fp; filep->f_priv = fp;
return fatfs_sync(vp->originMount->mountFlags, fs); return fatfs_sync(vp->originMount->mountFlags, fs);
ERROR_FREE: ERROR_UNLOCK:
unlock_fs(fs, FR_OK); unlock_fs(fs, FR_OK);
ERROR_FREE:
free(fp); free(fp);
ERROR_EXIT: ERROR_EXIT:
return -ret; return -ret;