Skip to content

Commit fc5e2f0

Browse files
committed
fixup! Safely skip unexpected bytes in the headers
1 parent fa31a0f commit fc5e2f0

1 file changed

Lines changed: 4 additions & 4 deletions

File tree

src/header.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,8 @@ impl PerfHeader {
5757
reader.read_u64::<T>()?,
5858
]);
5959

60-
// Skip any additional header bytes from newer formats. Size excludes magic.
61-
let known_size = (std::mem::size_of::<Self>() - MAGIC_SIZE) as u64;
60+
// Skip any additional header bytes from newer formats.
61+
let known_size = std::mem::size_of::<Self>() as u64;
6262
if header_size > known_size {
6363
let extra_bytes = header_size - known_size;
6464
reader.seek(SeekFrom::Current(extra_bytes as i64))?;
@@ -101,9 +101,9 @@ impl PerfPipeHeader {
101101
reader.read_u64::<byteorder::BigEndian>()?
102102
};
103103

104-
// Skip any additional header bytes from newer formats. size excludes magic.
104+
// Skip any additional header bytes from newer formats.
105105
// Use io::copy to sink instead of seek since pipe mode doesn't support seeking.
106-
let known_size = (std::mem::size_of::<Self>() - MAGIC_SIZE) as u64;
106+
let known_size = std::mem::size_of::<Self>() as u64;
107107
if size > known_size {
108108
let extra_bytes = size - known_size;
109109
std::io::copy(&mut reader.by_ref().take(extra_bytes), &mut std::io::sink())?;

0 commit comments

Comments
 (0)