From 5187e5ddd68bf0ac3d6da3302eb11ca46c83e7ce Mon Sep 17 00:00:00 2001 From: Ralf Jung Date: Fri, 28 Feb 2020 10:00:20 +0100 Subject: [PATCH] avoid Scalar::to_bits --- src/shims/foreign_items/posix.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/shims/foreign_items/posix.rs b/src/shims/foreign_items/posix.rs index 636137f62de0..e80908d8fa09 100644 --- a/src/shims/foreign_items/posix.rs +++ b/src/shims/foreign_items/posix.rs @@ -205,18 +205,18 @@ pub trait EvalContextExt<'mir, 'tcx: 'mir>: crate::MiriEvalContextExt<'mir, 'tcx this.write_null(dest)?; } "pthread_key_delete" => { - let key = this.read_scalar(args[0])?.to_bits(args[0].layout.size)?; + let key = this.force_bits(this.read_scalar(args[0])?.not_undef()?, args[0].layout.size)?; this.machine.tls.delete_tls_key(key)?; // Return success (0) this.write_null(dest)?; } "pthread_getspecific" => { - let key = this.read_scalar(args[0])?.to_bits(args[0].layout.size)?; + let key = this.force_bits(this.read_scalar(args[0])?.not_undef()?, args[0].layout.size)?; let ptr = this.machine.tls.load_tls(key, tcx)?; this.write_scalar(ptr, dest)?; } "pthread_setspecific" => { - let key = this.read_scalar(args[0])?.to_bits(args[0].layout.size)?; + let key = this.force_bits(this.read_scalar(args[0])?.not_undef()?, args[0].layout.size)?; let new_ptr = this.read_scalar(args[1])?.not_undef()?; this.machine.tls.store_tls(key, this.test_null(new_ptr)?)?;