diff --git a/bindings/java/src/org/sleuthkit/datamodel/Pool.java b/bindings/java/src/org/sleuthkit/datamodel/Pool.java index 417bf0c7f1ed6647eec15caa6b26cd9f78f2f1f2..98681759fd86791e7152ca2de1a0247113d7b737 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 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"); }