From 73c93ed57fb99d773776e80897c4b45469d87333 Mon Sep 17 00:00:00 2001 From: antonkukoba <akukoba@adfsolutions.com> Date: Thu, 26 Dec 2013 15:01:24 +0200 Subject: [PATCH] Fixed critical section leak in TSK_FS_INFO --- tsk/fs/ffs.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/tsk/fs/ffs.c b/tsk/fs/ffs.c index f8439a90b..403cdb8f2 100644 --- a/tsk/fs/ffs.c +++ b/tsk/fs/ffs.c @@ -2016,7 +2016,7 @@ ffs_open(TSK_IMG_INFO * img_info, TSK_OFF_T offset, TSK_FS_TYPE_ENUM ftype) ffs->fs.sb1 = (ffs_sb1 *) tsk_malloc(len); if (ffs->fs.sb1 == NULL) { fs->tag = 0; - free(ffs); + tsk_fs_free((TSK_FS_INFO *)ffs); return NULL; } @@ -2037,7 +2037,7 @@ ffs_open(TSK_IMG_INFO * img_info, TSK_OFF_T offset, TSK_FS_TYPE_ENUM ftype) (TSK_OFF_T) UFS2_SBOFF); fs->tag = 0; free(ffs->fs.sb1); - free(ffs); + tsk_fs_free((TSK_FS_INFO *)ffs); return NULL; } @@ -2058,7 +2058,7 @@ ffs_open(TSK_IMG_INFO * img_info, TSK_OFF_T offset, TSK_FS_TYPE_ENUM ftype) myname, (TSK_OFF_T) UFS2_SBOFF2); fs->tag = 0; free(ffs->fs.sb1); - free(ffs); + tsk_fs_free((TSK_FS_INFO *)ffs); return NULL; } @@ -2078,7 +2078,7 @@ ffs_open(TSK_IMG_INFO * img_info, TSK_OFF_T offset, TSK_FS_TYPE_ENUM ftype) myname, (TSK_OFF_T) UFS1_SBOFF); fs->tag = 0; free(ffs->fs.sb1); - free(ffs); + tsk_fs_free((TSK_FS_INFO *)ffs); return NULL; } if (tsk_fs_guessu32(fs, ffs->fs.sb1->magic, UFS1_FS_MAGIC)) { @@ -2089,7 +2089,7 @@ ffs_open(TSK_IMG_INFO * img_info, TSK_OFF_T offset, TSK_FS_TYPE_ENUM ftype) fprintf(stderr, "ufs_open: No UFS magic found\n"); fs->tag = 0; free(ffs->fs.sb1); - free(ffs); + tsk_fs_free((TSK_FS_INFO *)ffs); return NULL; } else { @@ -2148,7 +2148,7 @@ ffs_open(TSK_IMG_INFO * img_info, TSK_OFF_T offset, TSK_FS_TYPE_ENUM ftype) fprintf(stderr, "ufs_open: invalid fragment or block size\n"); fs->tag = 0; free(ffs->fs.sb1); - free(ffs); + tsk_fs_free((TSK_FS_INFO *)ffs); return NULL; } @@ -2160,7 +2160,7 @@ ffs_open(TSK_IMG_INFO * img_info, TSK_OFF_T offset, TSK_FS_TYPE_ENUM ftype) fprintf(stderr, "ufs_open: fragment / block size mismatch\n"); fs->tag = 0; free(ffs->fs.sb1); - free(ffs); + tsk_fs_free((TSK_FS_INFO *)ffs); return NULL; } -- GitLab