Check for null in return_to_mut. Fixes #4904.
This commit is contained in:
parent
5f52669296
commit
0dc6c414af
@ -99,8 +99,12 @@ pub unsafe fn borrow_as_imm(a: *u8) {
|
||||
#[lang="return_to_mut"]
|
||||
#[inline(always)]
|
||||
pub unsafe fn return_to_mut(a: *u8) {
|
||||
let a: *mut BoxRepr = transmute(a);
|
||||
(*a).header.ref_count &= !FROZEN_BIT;
|
||||
// Sometimes the box is null, if it is conditionally frozen.
|
||||
// See e.g. #4904.
|
||||
if !a.is_null() {
|
||||
let a: *mut BoxRepr = transmute(a);
|
||||
(*a).header.ref_count &= !FROZEN_BIT;
|
||||
}
|
||||
}
|
||||
|
||||
#[lang="check_not_borrowed"]
|
||||
|
Loading…
Reference in New Issue
Block a user