Skip to content

Commit 6556549

Browse files
committed
fix Vec::extend invalidating unrelated pointers
1 parent 8926bb4 commit 6556549

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

src/liballoc/vec.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2122,8 +2122,9 @@ where
21222122
self.reserve(slice.len());
21232123
unsafe {
21242124
let len = self.len();
2125+
let dst_slice = slice::from_raw_parts_mut(self.as_mut_ptr().add(len), slice.len());
2126+
dst_slice.copy_from_slice(slice);
21252127
self.set_len(len + slice.len());
2126-
self.get_unchecked_mut(len..).copy_from_slice(slice);
21272128
}
21282129
}
21292130
}

0 commit comments

Comments
 (0)