From 9163d1531572f1fd4d73e2ff788a7880a4b3c4dd Mon Sep 17 00:00:00 2001 From: Mike Hommey Date: Fri, 29 Jan 2021 18:02:14 +0900 Subject: [PATCH] Avoid overflow when header.n_namesz is 0 --- src/elf/note.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/elf/note.rs b/src/elf/note.rs index 04977121..c6eb784f 100644 --- a/src/elf/note.rs +++ b/src/elf/note.rs @@ -205,7 +205,7 @@ if_alloc! { }; debug!("{:?} - {:#x}", header, *offset); // -1 because includes \0 terminator - let name = bytes.gread_with::<&'a str>(offset, ctx::StrCtx::Length(header.n_namesz - 1))?; + let name = bytes.gread_with::<&'a str>(offset, ctx::StrCtx::Length(header.n_namesz.saturating_sub(1)))?; *offset += 1; align(alignment, offset); debug!("note name {} - {:#x}", name, *offset);