diff --git a/bindings/java/src/org/sleuthkit/datamodel/Pool.java b/bindings/java/src/org/sleuthkit/datamodel/Pool.java index 2a6e712e73b78ab596db12640e3b52d01e6f2c2e..261900c0f2b07c49103f4d995c622fc72e46c705 100644 --- a/bindings/java/src/org/sleuthkit/datamodel/Pool.java +++ b/bindings/java/src/org/sleuthkit/datamodel/Pool.java @@ -114,7 +114,13 @@ private long getPoolOffset(Image image) throws TskCoreException { } else if (this.getParent() instanceof Volume) { // If the parent is a volume, then the pool starts at the volume offset Volume parent = (Volume)this.getParent(); - return parent.getStart() * image.getSsize(); // Offset needs to be in bytes + if (parent.getParent() instanceof VolumeSystem) { + // uses block size from parent volume system + return parent.getStart() * ((VolumeSystem) parent.getParent()).getBlockSize(); // Offset needs to be in bytes + } else { + // uses sector size from from parent image (old behavior fallback) + return parent.getStart() * image.getSsize(); // Offset needs to be in bytes + } } throw new TskCoreException("Pool with object ID " + this.getId() + " does not have Image or Volume parent"); }