Skip to content
Snippets Groups Projects
Commit 5e829a52 authored by Ann Priestman's avatar Ann Priestman
Browse files

Free in_node before breaking/returning

parent 37e2d9cc
No related branches found
No related tags found
No related merge requests found
...@@ -507,6 +507,7 @@ iso9660_load_inodes_dir(TSK_FS_INFO * fs, TSK_OFF_T a_offs, int count, ...@@ -507,6 +507,7 @@ iso9660_load_inodes_dir(TSK_FS_INFO * fs, TSK_OFF_T a_offs, int count,
tsk_error_set_errno(TSK_ERR_FS_ARG); tsk_error_set_errno(TSK_ERR_FS_ARG);
tsk_error_set_errstr tsk_error_set_errstr
("iso9660_load_inodes_dir: Name argument specified is too long"); ("iso9660_load_inodes_dir: Name argument specified is too long");
free(in_node);
return -1; return -1;
} }
strncpy(in_node->inode.fn, a_fn, ISO9660_MAXNAMLEN_STD + 1); strncpy(in_node->inode.fn, a_fn, ISO9660_MAXNAMLEN_STD + 1);
...@@ -616,6 +617,7 @@ iso9660_load_inodes_dir(TSK_FS_INFO * fs, TSK_OFF_T a_offs, int count, ...@@ -616,6 +617,7 @@ iso9660_load_inodes_dir(TSK_FS_INFO * fs, TSK_OFF_T a_offs, int count,
if (tsk_verbose) if (tsk_verbose)
tsk_fprintf(stderr, tsk_fprintf(stderr,
"iso9660_load_inodes_dir: length of name after processing is 0. bailing\n"); "iso9660_load_inodes_dir: length of name after processing is 0. bailing\n");
free(in_node);
break; break;
} }
...@@ -634,6 +636,7 @@ iso9660_load_inodes_dir(TSK_FS_INFO * fs, TSK_OFF_T a_offs, int count, ...@@ -634,6 +636,7 @@ iso9660_load_inodes_dir(TSK_FS_INFO * fs, TSK_OFF_T a_offs, int count,
tsk_fprintf(stderr, tsk_fprintf(stderr,
"iso9660_load_inodes_dir: file starts past end of image (%"PRIu32"). bailing\n", "iso9660_load_inodes_dir: file starts past end of image (%"PRIu32"). bailing\n",
tsk_getu32(fs->endian, dentry->ext_loc_m)); tsk_getu32(fs->endian, dentry->ext_loc_m));
free(in_node);
break; break;
} }
in_node->offset = in_node->offset =
...@@ -644,6 +647,7 @@ iso9660_load_inodes_dir(TSK_FS_INFO * fs, TSK_OFF_T a_offs, int count, ...@@ -644,6 +647,7 @@ iso9660_load_inodes_dir(TSK_FS_INFO * fs, TSK_OFF_T a_offs, int count,
tsk_fprintf(stderr, tsk_fprintf(stderr,
"iso9660_load_inodes_dir: file ends past end of image (%"PRIu32" bytes). bailing\n", "iso9660_load_inodes_dir: file ends past end of image (%"PRIu32" bytes). bailing\n",
tsk_getu32(fs->endian, in_node->inode.dr.data_len_m) + in_node->offset); tsk_getu32(fs->endian, in_node->inode.dr.data_len_m) + in_node->offset);
free(in_node);
break; break;
} }
/* record size to make sure fifos show up as unique files */ /* record size to make sure fifos show up as unique files */
...@@ -676,6 +680,7 @@ iso9660_load_inodes_dir(TSK_FS_INFO * fs, TSK_OFF_T a_offs, int count, ...@@ -676,6 +680,7 @@ iso9660_load_inodes_dir(TSK_FS_INFO * fs, TSK_OFF_T a_offs, int count,
if (tsk_verbose) if (tsk_verbose)
tsk_fprintf(stderr, tsk_fprintf(stderr,
"iso9660_load_inodes_dir: parse_susp returned error (%s). bailing\n", tsk_error_get()); "iso9660_load_inodes_dir: parse_susp returned error (%s). bailing\n", tsk_error_get());
free(in_node);
break; break;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment