diff --git a/tsk/fs/apfs_compat.cpp b/tsk/fs/apfs_compat.cpp index 3cd1c4ccf8352751c1323660e2f4b6399e3f4999..8ba784aaefe1b0cb4a8d25f011499de9a6e70821 100755 --- a/tsk/fs/apfs_compat.cpp +++ b/tsk/fs/apfs_compat.cpp @@ -569,7 +569,7 @@ uint8_t APFSFSCompat::inode_walk(TSK_FS_INFO* fs, TSK_INUM_T start_inum, TSK_INU tsk_error_reset(); tsk_error_set_errno(TSK_ERR_FS_WALK_RNG); tsk_error_set_errstr("inode_walk: end object id must be >= start object id: " - "%" PRIx32 " must be >= %" PRIx32 "", + "%" PRIuINUM " must be >= %" PRIuINUM "", end_inum, start_inum); return 1; } @@ -1431,9 +1431,6 @@ uint8_t tsk_apfs_istat(TSK_FS_FILE* fs_file, apfs_istat_info* info) try { */ TSK_FS_BLOCK_FLAG_ENUM APFSFSCompat::block_getflags(TSK_FS_INFO* fs, TSK_DADDR_T addr) { - TSK_FS_FILE *fs_file; - int result; - if (fs->img_info->itype != TSK_IMG_TYPE_POOL) { // No way to return an error return TSK_FS_BLOCK_FLAG_UNALLOC; @@ -1642,7 +1639,7 @@ uint8_t tsk_apfs_free_snapshot_list(apfs_snapshot_list* list) try { return 1; } - for (auto i = 0; i < list->num_snapshots; i++) { + for (size_t i = 0; i < list->num_snapshots; i++) { auto& snapshot = list->snapshots[i]; delete[] snapshot.name; } diff --git a/tsk/fs/ext2fs.c b/tsk/fs/ext2fs.c index 6c9ab4b23a62e7bb1c6c95b6202c23cfe753a99a..546db8cbf80e4a99b2645957727ca9541e2b0624 100755 --- a/tsk/fs/ext2fs.c +++ b/tsk/fs/ext2fs.c @@ -635,7 +635,7 @@ ext4_load_attrs_inline(TSK_FS_FILE *fs_file, const uint8_t * ea_buf, size_t ea_b // This is the right attribute. Check that the length and offset are valid. // The offset is from the beginning of the entries, i.e., four bytes into the buffer. - uint32_t offset = tsk_getu32(fs_file->fs_info->endian, ea_entry->val_off); + uint16_t offset = tsk_getu16(fs_file->fs_info->endian, ea_entry->val_off); uint32_t size = tsk_getu32(fs_file->fs_info->endian, ea_entry->val_size); if (4 + offset + size <= ea_buf_len) { ea_inline_data = &(ea_buf[4 + offset]); @@ -1665,7 +1665,7 @@ ext2fs_make_data_run_extent_index(TSK_FS_INFO * fs_info, // Ensure buf is sufficiently large // Otherwise extents[i] below can cause an OOB read - if ((fs_blocksize < sizeof(ext2fs_extent_header)) || (num_entries > (fs_blocksize - sizeof(ext2fs_extent_header)) / sizeof(ext2fs_extent))) { + if (((unsigned long)fs_blocksize < sizeof(ext2fs_extent_header)) || (num_entries > (fs_blocksize - sizeof(ext2fs_extent_header)) / sizeof(ext2fs_extent))) { free(buf); return 1; } @@ -1684,7 +1684,7 @@ ext2fs_make_data_run_extent_index(TSK_FS_INFO * fs_info, // Ensure buf is sufficiently large // Otherwise indices[i] below can cause an OOB read - if ((fs_blocksize < sizeof(ext2fs_extent_header)) || (num_entries > (fs_blocksize - sizeof(ext2fs_extent_header)) / sizeof(ext2fs_extent_idx))) { + if (((unsigned long)fs_blocksize < sizeof(ext2fs_extent_header)) || (num_entries > (fs_blocksize - sizeof(ext2fs_extent_header)) / sizeof(ext2fs_extent_idx))) { free(buf); return 1; }