diff --git a/bindings/java/src/org/sleuthkit/datamodel/HostManager.java b/bindings/java/src/org/sleuthkit/datamodel/HostManager.java index d8255b2e7823a93e715bb3264b3f2794ac95f6ab..fb8d2eda00053413b525f4a5df7dd11c087f6b37 100755 --- a/bindings/java/src/org/sleuthkit/datamodel/HostManager.java +++ b/bindings/java/src/org/sleuthkit/datamodel/HostManager.java @@ -295,7 +295,7 @@ public List<DataSource> getDataSourcesForHost(Host host) throws TskCoreException return dataSources; } catch (SQLException | TskDataException ex) { - throw new TskCoreException(String.format("Error getting data sources for host " + host.getName()), ex); + throw new TskCoreException(String.format("Error getting data sources for host %s", host.getName()), ex); } finally { db.releaseSingleUserCaseReadLock(); } diff --git a/bindings/java/src/org/sleuthkit/datamodel/SlackFile.java b/bindings/java/src/org/sleuthkit/datamodel/SlackFile.java index e6bf7c4e0d5c2ff98fc2efdaa90c9d08e5907630..f53f63aa79748cf033fa0c667342ccf031e6504f 100644 --- a/bindings/java/src/org/sleuthkit/datamodel/SlackFile.java +++ b/bindings/java/src/org/sleuthkit/datamodel/SlackFile.java @@ -117,7 +117,7 @@ public class SlackFile extends FsContent { */ @Override @SuppressWarnings("deprecation") - protected int readInt(byte[] buf, long offset, long len) throws TskCoreException { + protected synchronized int readInt(byte[] buf, long offset, long len) throws TskCoreException { if (offset == 0 && size == 0) { //special case for 0-size file return 0; diff --git a/bindings/java/src/org/sleuthkit/datamodel/SleuthkitCase.java b/bindings/java/src/org/sleuthkit/datamodel/SleuthkitCase.java index c04094367e8b6e2164ad3896bffb941361514893..5cbde51eccbbba7ca93bb8d4c8546e867ddfea01 100644 --- a/bindings/java/src/org/sleuthkit/datamodel/SleuthkitCase.java +++ b/bindings/java/src/org/sleuthkit/datamodel/SleuthkitCase.java @@ -10090,16 +10090,16 @@ public void setImagePaths(long obj_id, List<String> paths) throws TskCoreExcepti * within tsk core and the update fails */ @Beta - public void setImagePaths(long obj_id, List<String> paths, CaseDbTransaction trans) throws TskCoreException { + public void setImagePaths(long objId, List<String> paths, CaseDbTransaction trans) throws TskCoreException { try { PreparedStatement statement = trans.getConnection().getPreparedStatement(PREPARED_STATEMENT.DELETE_IMAGE_NAME); statement.clearParameters(); - statement.setLong(1, obj_id); + statement.setLong(1, objId); trans.getConnection().executeUpdate(statement); for (int i = 0; i < paths.size(); i++) { statement = trans.getConnection().getPreparedStatement(PREPARED_STATEMENT.INSERT_IMAGE_NAME); statement.clearParameters(); - statement.setLong(1, obj_id); + statement.setLong(1, objId); statement.setString(2, paths.get(i)); statement.setLong(3, i); trans.getConnection().executeUpdate(statement); diff --git a/tsk/fs/ext2fs.c b/tsk/fs/ext2fs.c index a7fe539590a72cdeed96b6be8193aadbea7eddcc..adb06e9ba453772d510e5039433cc55db28c314c 100755 --- a/tsk/fs/ext2fs.c +++ b/tsk/fs/ext2fs.c @@ -1613,7 +1613,7 @@ ext2fs_make_data_run_extent(TSK_FS_INFO * fs_info, TSK_FS_ATTR * fs_attr, static TSK_OFF_T ext2fs_make_data_run_extent_index(TSK_FS_INFO * fs_info, TSK_FS_ATTR * fs_attr, TSK_FS_ATTR * fs_attr_extent, - TSK_DADDR_T idx_block) + TSK_DADDR_T idx_block, TSK_DADDR_T * idx_offset) { ext2fs_extent_header *header; TSK_FS_ATTR_RUN *data_run; @@ -1655,8 +1655,10 @@ ext2fs_make_data_run_extent_index(TSK_FS_INFO * fs_info, free(buf); return 1; } + data_run->offset = *idx_offset; + ++*idx_offset; data_run->addr = idx_block; - data_run->len = fs_blocksize; + data_run->len = 1; if (tsk_fs_attr_add_run(fs_info, fs_attr_extent, data_run)) { tsk_fs_attr_run_free(data_run); @@ -1701,7 +1703,7 @@ ext2fs_make_data_run_extent_index(TSK_FS_INFO * fs_info, index->ei_leaf_hi)) << 16) | tsk_getu32(fs_info-> endian, index->ei_leaf_lo); if (ext2fs_make_data_run_extent_index(fs_info, fs_attr, - fs_attr_extent, child_block)) { + fs_attr_extent, child_block, idx_offset)) { free(buf); return 1; } @@ -1934,6 +1936,7 @@ ext4_load_attrs_extents(TSK_FS_FILE *fs_file) else { /* interior node */ TSK_FS_ATTR *fs_attr_extent; int32_t extent_index_size; + TSK_DADDR_T idx_offset; // Ensure fs_meta->content_ptr is sufficiently large // Otherwise indices[i] below can cause an OOB read @@ -1965,6 +1968,7 @@ ext4_load_attrs_extents(TSK_FS_FILE *fs_file) } indices = (ext2fs_extent_idx *) (header + 1); + idx_offset = 0; for (i = 0; i < num_entries; i++) { ext2fs_extent_idx *index = &indices[i]; TSK_DADDR_T child_block = @@ -1973,7 +1977,7 @@ ext4_load_attrs_extents(TSK_FS_FILE *fs_file) ei_leaf_hi)) << 16) | tsk_getu32(fs_info-> endian, index->ei_leaf_lo); if (ext2fs_make_data_run_extent_index(fs_info, fs_attr, - fs_attr_extent, child_block)) { + fs_attr_extent, child_block, &idx_offset)) { return 1; } }