From f2e14d931417f5037aea6212a5294a641caf5512 Mon Sep 17 00:00:00 2001 From: Ralf Jung Date: Wed, 26 Dec 2018 13:16:47 +0100 Subject: [PATCH] use memory::check_bounds_ptr for offset check --- src/operator.rs | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/operator.rs b/src/operator.rs index cc803c4ea9..4b110224a0 100644 --- a/src/operator.rs +++ b/src/operator.rs @@ -303,10 +303,9 @@ impl<'a, 'mir, 'tcx> EvalContextExt<'tcx> for super::MiriEvalContext<'a, 'mir, ' if let Scalar::Ptr(ptr) = ptr { // Both old and new pointer must be in-bounds of a *live* allocation. // (Of the same allocation, but that part is trivial with our representation.) - let alloc = self.memory().get(ptr.alloc_id)?; - alloc.check_bounds_ptr(ptr)?; + self.memory().check_bounds_ptr(ptr, InboundsCheck::Live)?; let ptr = ptr.signed_offset(offset, self)?; - alloc.check_bounds_ptr(ptr)?; + self.memory().check_bounds_ptr(ptr, InboundsCheck::Live)?; Ok(Scalar::Ptr(ptr)) } else { // An integer pointer. They can only be offset by 0, and we pretend there