diff --git a/bindings/java/src/org/sleuthkit/datamodel/Pool.java b/bindings/java/src/org/sleuthkit/datamodel/Pool.java index 4c3e12ff3f411388285e5829bdb90856fc0b35bc..be2200efba9c07a4d7780eacc1efa1d35cf70d6e 100644 --- a/bindings/java/src/org/sleuthkit/datamodel/Pool.java +++ b/bindings/java/src/org/sleuthkit/datamodel/Pool.java @@ -18,7 +18,6 @@ */ package org.sleuthkit.datamodel; -import java.util.ArrayList; import java.util.List; import org.sleuthkit.datamodel.TskData.TSK_DB_POOL_TYPE_ENUM; @@ -28,7 +27,7 @@ public class Pool extends AbstractContent { private volatile long poolHandle = 0; - private long type, imgOffset; + private final long type, imgOffset; /** * Constructor most inputs are from the database diff --git a/bindings/java/src/org/sleuthkit/datamodel/SleuthkitCase.java b/bindings/java/src/org/sleuthkit/datamodel/SleuthkitCase.java index 48d231b97e84b40b1887c90da3cd8eceb9894f30..766571b1925a7b45b3eaa45d04d17f859378be44 100644 --- a/bindings/java/src/org/sleuthkit/datamodel/SleuthkitCase.java +++ b/bindings/java/src/org/sleuthkit/datamodel/SleuthkitCase.java @@ -7344,8 +7344,7 @@ private Pool getPoolByIdHelper(long id, Content parent) throws TskCoreException rs = connection.executeQuery(s, "SELECT * FROM tsk_pool_info " //NON-NLS + "where obj_id = " + id); //NON-NLS if (rs.next()) { - - Pool pool = new Pool(this, rs.getLong("obj_id"), "POOL!", rs.getLong("pool_type"), rs.getLong("img_offset")); + Pool pool = new Pool(this, rs.getLong("obj_id"), TskData.TSK_DB_POOL_TYPE_ENUM.valueOf(rs.getLong("pool_type")).getName(), rs.getLong("pool_type"), rs.getLong("img_offset")); pool.setParent(parent); return pool; diff --git a/bindings/java/src/org/sleuthkit/datamodel/TskData.java b/bindings/java/src/org/sleuthkit/datamodel/TskData.java index ae7263a4549194fd7d6fe9301b39d6d1036cf16e..aecc8d9ae308737d6ae3a2531f699fa1ed85cd4b 100644 --- a/bindings/java/src/org/sleuthkit/datamodel/TskData.java +++ b/bindings/java/src/org/sleuthkit/datamodel/TskData.java @@ -730,7 +730,7 @@ public String getName() { */ public enum TSK_DB_POOL_TYPE_ENUM { TSK_POOL_TYPE_DETECT(0, "Auto detect"), ///< Use autodetection methods - TSK_POOL_TYPE_APFS(1, "APFS"), ///< APFS Pooled Volumes + TSK_POOL_TYPE_APFS(1, "APFS Pool"), ///< APFS Pooled Volumes TSK_POOL_TYPE_UNSUPP(0xffff, "Unsupported") ///< Unsupported pool container type ; diff --git a/tsk/fs/apfs_compat.cpp b/tsk/fs/apfs_compat.cpp index 8baee180d2de0a5786770088694d01f6dfd20ac4..03c05936afbe76385553475e179ef8dbc0d8ba14 100755 --- a/tsk/fs/apfs_compat.cpp +++ b/tsk/fs/apfs_compat.cpp @@ -176,7 +176,7 @@ APFSFSCompat::APFSFSCompat(TSK_IMG_INFO* img_info, const TSK_POOL_INFO* pool_inf //_fsinfo.fs_pool_info = pool_info; //_fsinfo.fs_vol_block = vol_block; _fsinfo.img_info = img_info; - _fsinfo.offset = pool.first_img_offset; + _fsinfo.offset = pool.first_img_offset(); _fsinfo.block_count = vol.alloc_blocks(); _fsinfo.block_size = pool.block_size(); _fsinfo.dev_bsize = pool.dev_block_size(); diff --git a/tsk/pool/apfs_pool_compat.cpp b/tsk/pool/apfs_pool_compat.cpp index 77443f557c59cc26f785123dc3acd51ce3e14d47..24f175b3c497c2c1f55f166ad86472861378ae2d 100755 --- a/tsk/pool/apfs_pool_compat.cpp +++ b/tsk/pool/apfs_pool_compat.cpp @@ -300,7 +300,7 @@ apfs_img_read(TSK_IMG_INFO * img_info, TSK_OFF_T offset, char *buf, size_t len) const auto pool = static_cast<APFSPoolCompat*>(pool_img_info->pool_info->impl); TSK_IMG_INFO *origInfo = pool->getTSKImgInfo(0); - return origInfo->read(origInfo, offset + pool->first_img_offset(), buf, len); + return origInfo->read(origInfo, offset, buf, len); } TSK_IMG_INFO * APFSPoolCompat::getImageInfo(const TSK_POOL_INFO *pool_info, TSK_DADDR_T pvol_block) noexcept try {