]> git.lizzy.rs Git - rust.git/commitdiff
Merge remote-tracking branch 'origin/master' into rustup
authorRalf Jung <post@ralfj.de>
Fri, 26 Oct 2018 13:06:21 +0000 (15:06 +0200)
committerRalf Jung <post@ralfj.de>
Fri, 26 Oct 2018 13:06:21 +0000 (15:06 +0200)
1  2 
src/fn_call.rs
src/intrinsic.rs

diff --cc src/fn_call.rs
index 88c31f63fbb17b337ddf0305ba0fb1cf37644519,2d142ab20dc6199709f0bbe00c4504e939c8559b..a65329a1e7bb2a71036d579e4752028b34eb49fa
@@@ -132,8 -132,8 +132,8 @@@ impl<'a, 'mir, 'tcx: 'mir + 'a> EvalCon
  
              "free" => {
                  let ptr = self.read_scalar(args[0])?.not_undef()?.erase_tag(); // raw ptr operation, no tag
-                 if !ptr.is_null() {
+                 if !ptr.is_null_ptr(&self) {
 -                    self.memory.deallocate(
 +                    self.memory_mut().deallocate(
                          ptr.to_ptr()?.with_default_tag(),
                          None,
                          MiriMemoryKind::C.into(),
                  let mut success = None;
                  {
                      let name_ptr = self.read_scalar(args[0])?.not_undef()?.erase_tag(); // raw ptr operation
-                     if !name_ptr.is_null() {
+                     if !name_ptr.is_null_ptr(&self) {
 -                        let name = self.memory.read_c_str(name_ptr.to_ptr()?.with_default_tag())?;
 +                        let name = self.memory().read_c_str(name_ptr.to_ptr()?
 +                            .with_default_tag())?.to_owned();
                          if !name.is_empty() && !name.contains(&b'=') {
 -                            success = Some(self.machine.env_vars.remove(name));
 +                            success = Some(self.machine.env_vars.remove(&name));
                          }
                      }
                  }
                  {
                      let name_ptr = self.read_scalar(args[0])?.not_undef()?.erase_tag(); // raw ptr operation
                      let value_ptr = self.read_scalar(args[1])?.to_ptr()?.erase_tag(); // raw ptr operation
 -                    let value = self.memory.read_c_str(value_ptr.with_default_tag())?;
 +                    let value = self.memory().read_c_str(value_ptr.with_default_tag())?;
-                     if !name_ptr.is_null() {
+                     if !name_ptr.is_null_ptr(&self) {
 -                        let name = self.memory.read_c_str(name_ptr.to_ptr()?.with_default_tag())?;
 +                        let name = self.memory().read_c_str(name_ptr.to_ptr()?.with_default_tag())?;
                          if !name.is_empty() && !name.contains(&b'=') {
                              new = Some((name.to_owned(), value.to_owned()));
                          }
Simple merge