diff --git a/tsk3/fs/hfs.c b/tsk3/fs/hfs.c index e487848bb0b9afc63bf24c9a8187c9fddea5dde8..6d0f3419144fcf362bc8ff4e1c154ca1d398fd99 100644 --- a/tsk3/fs/hfs.c +++ b/tsk3/fs/hfs.c @@ -1857,7 +1857,6 @@ hfs_load_attrs(TSK_FS_FILE * fs_file) 0)) { strncat(tsk_errstr2, " - hfs_load_attrs (non-file)", TSK_ERRSTR_L - strlen(tsk_errstr2)); - tsk_fs_attr_run_free(attr_run); return 1; } fs_file->meta->attr_state = TSK_FS_META_ATTR_STUDIED; @@ -1906,7 +1905,7 @@ hfs_load_attrs(TSK_FS_FILE * fs_file) } // see if extents file has additional runs - if (hfs_ext_find_extent_record_attr(hfs, fs_file->meta->addr, fs_attr)) { + if (hfs_ext_find_extent_record_attr(hfs, (uint32_t)fs_file->meta->addr, fs_attr)) { strncat(tsk_errstr2, " - hfs_load_attrs", TSK_ERRSTR_L - strlen(tsk_errstr2)); fs_file->meta->attr_state = TSK_FS_META_ATTR_ERROR; @@ -1990,7 +1989,7 @@ hfs_block_is_alloc(HFS_INFO * hfs, TSK_DADDR_T a_addr) hfs->blockmap_cache_start = b; hfs->blockmap_cache_len = cnt; } - b2 = b - hfs->blockmap_cache_start; + b2 = (size_t)(b - hfs->blockmap_cache_start); return (hfs->blockmap_cache[b2] & (1 << (7 - (a_addr % 8)))) != 0; } diff --git a/tsk3/fs/tsk_hfs.h b/tsk3/fs/tsk_hfs.h index 355e0931a1c582ad382004c2da5f6faf855c22b7..9430860ddd6b2c77bd96b4be95a611fb9439b524 100644 --- a/tsk3/fs/tsk_hfs.h +++ b/tsk3/fs/tsk_hfs.h @@ -499,7 +499,7 @@ typedef struct { TSK_FS_FILE *blockmap_file; const TSK_FS_ATTR *blockmap_attr; char blockmap_cache[4096]; ///< Cache for blockmap - int blockmap_cache_start; ///< Byte offset of blockmap where cache starts + TSK_OFF_T blockmap_cache_start; ///< Byte offset of blockmap where cache starts size_t blockmap_cache_len; ///< Length of cache that is being used TSK_FS_FILE *catalog_file;