Index: head/lib/libstand/cd9660.c =================================================================== --- head/lib/libstand/cd9660.c +++ head/lib/libstand/cd9660.c @@ -353,7 +353,15 @@ dp = (struct iso_directory_record *) ((char *) dp + isonum_711(dp->length)); - off += isonum_711(dp->length); + + /* if the new block is zero length, its padding */ + if (isonum_711(dp->length) == 0) { + /* skip to next block, if any */ + off = boff * ISO_DEFAULT_BLOCK_SIZE; + continue; + } else { + off += isonum_711(dp->length); + } } if (off >= dsize) { rc = ENOENT;