From 45144e096418e7bac00be08df8eefe502193ed5b Mon Sep 17 00:00:00 2001
From: Brian Carrier <carrier@sleuthkit.org>
Date: Tue, 30 Dec 2008 01:53:33 +0000
Subject: [PATCH] Fix bug 2389901: file name type of orphan and NTFS files

---
 CHANGES.txt         | 5 +++++
 tsk3/fs/fs_dir.c    | 5 +----
 tsk3/fs/ntfs_dent.c | 5 +----
 3 files changed, 7 insertions(+), 8 deletions(-)

diff --git a/CHANGES.txt b/CHANGES.txt
index 512486a7d..48697cd17 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -18,6 +18,11 @@ for compressed files (Bug: 2475246)
 was not being set and should have been removed in 3.0. Reported by
 Rob Joyce and Judson Powers.  
 
+12/29/08: Bug Fix: orphan files and NTFS files found via parent
+directory have an unknown file name type (instead of being equal
+to meta type).  (Bug: 2389901). Reported by Barry Grundy.
+
+
 ---------------- VERSION 3.0.0 -------------- 
 0/00/00: Update: Many, many, many API changes.
 
diff --git a/tsk3/fs/fs_dir.c b/tsk3/fs/fs_dir.c
index 53734d43e..6e1e741d1 100644
--- a/tsk3/fs/fs_dir.c
+++ b/tsk3/fs/fs_dir.c
@@ -778,10 +778,7 @@ find_orphan_meta_walk_cb(TSK_FS_FILE * a_fs_file, void *a_ptr)
     }
     data->fs_name->meta_addr = a_fs_file->meta->addr;
     data->fs_name->flags = TSK_FS_NAME_FLAG_UNALLOC;
-    if (a_fs_file->meta->type == TSK_FS_META_TYPE_DIR)
-        data->fs_name->type = TSK_FS_NAME_TYPE_DIR;
-    else
-        data->fs_name->type = TSK_FS_NAME_TYPE_REG;
+    data->fs_name->type = TSK_FS_NAME_TYPE_UNDEF;
 
     if (tsk_fs_dir_add(data->fs_dir, data->fs_name))
         return TSK_WALK_ERROR;
diff --git a/tsk3/fs/ntfs_dent.c b/tsk3/fs/ntfs_dent.c
index ae18fa477..03261adfd 100644
--- a/tsk3/fs/ntfs_dent.c
+++ b/tsk3/fs/ntfs_dent.c
@@ -65,10 +65,7 @@ ntfs_par_act(TSK_FS_FILE * fs_file, void *ptr)
             par_data->fs_name->flags = TSK_FS_NAME_FLAG_UNALLOC;
             strncpy(par_data->fs_name->name, fs_name_list->name,
                 par_data->fs_name->name_size);
-            if (fs_file->meta->type == TSK_FS_META_TYPE_DIR)
-                par_data->fs_name->type = TSK_FS_NAME_TYPE_DIR;
-            else
-                par_data->fs_name->type = TSK_FS_NAME_TYPE_REG;
+            par_data->fs_name->type = TSK_FS_NAME_TYPE_UNDEF;
 
             tsk_fs_dir_add(par_data->fs_dir, par_data->fs_name);
         }
-- 
GitLab