From cb5003fbe95499575da67167fa06e0556ad67f6a Mon Sep 17 00:00:00 2001
From: Brian Carrier <carrier@sleuthkit.org>
Date: Fri, 8 May 2009 15:02:58 +0000
Subject: [PATCH] fix casting warnings from vs

---
 CHANGES.txt       |  3 +++
 tsk3/fs/fs_attr.c | 14 +++++++-------
 tsk3/fs/ntfs.c    |  2 +-
 3 files changed, 11 insertions(+), 8 deletions(-)

diff --git a/CHANGES.txt b/CHANGES.txt
index 53fda1fd4..82f35f041 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -77,6 +77,9 @@ after the initialized part of an NTFS file (VDL Slack).
 5/7/09: Update: Finish rest of 2367426 so that uninitialized file
 space is shown if slack space is requested.
 
+5/8/09: Update: Resolved issue 2596153 by changing arguments to the
+img_open functions.
+
 
 ---------------- VERSION 3.0.1 -------------- 
 11/11/08: Bug Fix: Fixed crashing bug in ifind on FAT file system.
diff --git a/tsk3/fs/fs_attr.c b/tsk3/fs/fs_attr.c
index 12fe109d3..47785f75a 100644
--- a/tsk3/fs/fs_attr.c
+++ b/tsk3/fs/fs_attr.c
@@ -839,7 +839,7 @@ tsk_fs_attr_walk_nonres(const TSK_FS_ATTR * fs_attr,
                     if ((off + fs->block_size > fs_attr->nrd.initsize)
                         && ((a_flags & TSK_FS_FILE_READ_FLAG_SLACK) == 0)) {
                         memset(&buf[fs_attr->nrd.initsize - off], 0,
-                            fs->block_size - (fs_attr->nrd.initsize -
+                            fs->block_size - (size_t)(fs_attr->nrd.initsize -
                                 off));
                     }
                 }
@@ -1116,9 +1116,9 @@ tsk_fs_attr_read(const TSK_FS_ATTR * a_fs_attr, TSK_OFF_T a_offset,
                         meta->addr : 0);
             }
             // we return 0s for reads past the initsize (unless they want slack space)
-            else if (((data_run_cur->offset +
+            else if (((TSK_OFF_T)((data_run_cur->offset +
                         blkoffset_inrun) * fs->block_size +
-                    byteoffset_toread >= a_fs_attr->nrd.initsize)
+                    byteoffset_toread) >= a_fs_attr->nrd.initsize)
                 && ((a_flags & TSK_FS_FILE_READ_FLAG_SLACK) == 0)) {
                 memset(&a_buf[len_toread - len_remain], 0, len_inrun);
                 if (tsk_verbose)
@@ -1158,16 +1158,16 @@ tsk_fs_attr_read(const TSK_FS_ATTR * a_fs_attr, TSK_OFF_T a_offset,
                 }
 
                 // see if part of the data is in the non-initialized space
-                if (((data_run_cur->offset +
+                if (((TSK_OFF_T)((data_run_cur->offset +
                             blkoffset_inrun) * fs->block_size +
-                        byteoffset_toread + len_inrun >
+                        byteoffset_toread + len_inrun) >
                         a_fs_attr->nrd.initsize)
                     && ((a_flags & TSK_FS_FILE_READ_FLAG_SLACK) == 0)) {
                     size_t off =
-                        (data_run_cur->offset +
+                        (size_t)((data_run_cur->offset +
                         blkoffset_inrun) * fs->block_size +
                         byteoffset_toread + len_inrun -
-                        a_fs_attr->nrd.initsize;
+                        a_fs_attr->nrd.initsize);
                     memset(&a_buf[len_toread - len_remain + off], 0,
                         len_inrun - off);
                 }
diff --git a/tsk3/fs/ntfs.c b/tsk3/fs/ntfs.c
index 445c122b7..71c9295cf 100644
--- a/tsk3/fs/ntfs.c
+++ b/tsk3/fs/ntfs.c
@@ -1513,7 +1513,7 @@ ntfs_file_read_special(const TSK_FS_ATTR * a_fs_attr,
                         (a_fs_attr->fs_file->meta->size - (a_offset +
                                 buf_idx)))
                         cpylen =
-                            (a_fs_attr->fs_file->meta->size - (a_offset +
+                            (size_t)(a_fs_attr->fs_file->meta->size - (a_offset +
                                 buf_idx));
 
                     memcpy(&a_buf[buf_idx], &comp.uncomp_buf[byteoffset],
-- 
GitLab