From: Saleem Jaffer Date: Wed, 31 Jul 2019 12:44:49 +0000 (+0530) Subject: code review fixes X-Git-Url: https://git.lizzy.rs/?a=commitdiff_plain;h=c17d11fb39d93b1093fe19ca3c3db09130d3f47c;p=rust.git code review fixes --- diff --git a/src/librustc/mir/interpret/allocation.rs b/src/librustc/mir/interpret/allocation.rs index a9393561bfd..ce04cca96e0 100644 --- a/src/librustc/mir/interpret/allocation.rs +++ b/src/librustc/mir/interpret/allocation.rs @@ -235,17 +235,17 @@ pub fn read_c_str( { assert_eq!(ptr.offset.bytes() as usize as u64, ptr.offset.bytes()); let offset = ptr.offset.bytes() as usize; - match self.bytes[offset..].iter().position(|&c| c == 0) { + Ok(match self.bytes[offset..].iter().position(|&c| c == 0) { Some(size) => { let size_with_null = Size::from_bytes((size + 1) as u64); // Go through `get_bytes` for checks and AllocationExtra hooks. // We read the null, so we include it in the request, but we want it removed // from the result, so we do subslicing. - Ok(&self.get_bytes(cx, ptr, size_with_null)?[..size]) + &self.get_bytes(cx, ptr, size_with_null)?[..size] } // This includes the case where `offset` is out-of-bounds to begin with. None => throw_unsup!(UnterminatedCString(ptr.erase_tag())), - } + }) } /// Validates that `ptr.offset` and `ptr.offset + size` do not point to the middle of a