diff --git a/tsk/fs/hfs.c b/tsk/fs/hfs.c
index 29dff27dfb0ceafb2669f95dadce2dd5bf29688f..f5b9495c8fe09ab76c44f44d30f710a0ffc32f68 100644
--- a/tsk/fs/hfs.c
+++ b/tsk/fs/hfs.c
@@ -6250,6 +6250,7 @@ hfs_open(TSK_IMG_INFO * img_info, TSK_OFF_T offset,
     if (file != NULL) {
         hfs->root_crtime = file->meta->crtime;
         hfs->has_root_crtime = TRUE;
+        tsk_fs_file_close(file);
     }
     else {
         hfs->has_root_crtime = FALSE;
@@ -6280,6 +6281,7 @@ hfs_open(TSK_IMG_INFO * img_info, TSK_OFF_T offset,
             hfs->meta_crtime = file->meta->crtime;
             hfs->has_meta_crtime = TRUE;
             hfs->meta_inum = inum;
+            tsk_fs_file_close(file);
         }
     }
 
@@ -6298,6 +6300,7 @@ hfs_open(TSK_IMG_INFO * img_info, TSK_OFF_T offset,
             hfs->metadir_crtime = file->meta->crtime;
             hfs->has_meta_dir_crtime = TRUE;
             hfs->meta_dir_inum = inum;
+            tsk_fs_file_close(file);
         }
     }
 
diff --git a/tsk/img/ewf.c b/tsk/img/ewf.c
index 07f56976f82ee2fad206d2710e6152b4406e541e..dd5c48a1042ec3b8751e8bdcab872def1330e76f 100644
--- a/tsk/img/ewf.c
+++ b/tsk/img/ewf.c
@@ -138,6 +138,10 @@ ewf_image_close(TSK_IMG_INFO * img_info)
         }
         free(ewf_info->images);
     }
+    else {
+        libewf_error_t *error;
+        libewf_glob_free( ewf_info->images, ewf_info->num_imgs, &error);
+    }
 
     tsk_deinit_lock(&(ewf_info->read_lock));
     tsk_img_free(img_info);