diff --git a/src/main/java/org/apache/commons/compress/archivers/tar/TarFile.java b/src/main/java/org/apache/commons/compress/archivers/tar/TarFile.java index fb0ca76aa90..0c18a33ca03 100644 --- a/src/main/java/org/apache/commons/compress/archivers/tar/TarFile.java +++ b/src/main/java/org/apache/commons/compress/archivers/tar/TarFile.java @@ -458,7 +458,7 @@ private TarArchiveEntry getNextTarEntry() throws IOException { if (currEntry != null) { // Skip to the end of the entry - repositionForwardTo(currEntry.getDataOffset() + currEntry.getSize()); + repositionForwardTo(currEntry.getDataOffset() + (currEntry.isDirectory() ? 0 : currEntry.getSize())); throwExceptionIfPositionIsNotInArchive(); skipRecordPadding(); }