From bb1959f4167f174404dc04808e07138dfd1a735b Mon Sep 17 00:00:00 2001 From: Mark Simulacrum Date: Fri, 23 Dec 2016 20:47:47 -0700 Subject: [PATCH] Fix TypedArena infinitely looping when inplace reallocation fails. --- src/libarena/lib.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libarena/lib.rs b/src/libarena/lib.rs index 02e548c4f6e2..cde8a85d97c5 100644 --- a/src/libarena/lib.rs +++ b/src/libarena/lib.rs @@ -196,9 +196,9 @@ fn grow(&self, n: usize) { self.end.set(last_chunk.end()); return; } else { - let prev_capacity = last_chunk.storage.cap(); + new_capacity = last_chunk.storage.cap(); loop { - new_capacity = prev_capacity.checked_mul(2).unwrap(); + new_capacity = new_capacity.checked_mul(2).unwrap(); if new_capacity >= currently_used_cap + n { break; }