]> git.lizzy.rs Git - rust.git/commitdiff
Auto merge of #887 - RalfJung:readme, r=RalfJung
authorbors <bors@rust-lang.org>
Sun, 4 Aug 2019 17:37:00 +0000 (17:37 +0000)
committerbors <bors@rust-lang.org>
Sun, 4 Aug 2019 17:37:00 +0000 (17:37 +0000)
README: add getrandom bug

src/helpers.rs
src/shims/dlsym.rs
src/shims/foreign_items.rs

index d29cc021a1b08bdbb9824eba432968bdb0d653a2..e9b09d8160567e818e42f77461558952f02ba90d 100644 (file)
@@ -78,8 +78,8 @@ fn local_place(&mut self, local: mir::Local) -> InterpResult<'tcx, PlaceTy<'tcx,
     /// Generate some random bytes, and write them to `dest`.
     fn gen_random(
         &mut self,
-        len: usize,
         ptr: Scalar<Tag>,
+        len: usize,
     ) -> InterpResult<'tcx>  {
         let this = self.eval_context_mut();
 
index b859a8019024564daa8a3d7a17135fb19d0d9e09..307de29f220383cb7ba9157888e5635b7c35fcda 100644 (file)
@@ -41,7 +41,7 @@ fn call_dlsym(
             GetEntropy => {
                 let ptr = this.read_scalar(args[0])?.not_undef()?;
                 let len = this.read_scalar(args[1])?.to_usize(this)?;
-                this.gen_random(len as usize, ptr)?;
+                this.gen_random(ptr, len as usize)?;
                 this.write_null(dest)?;
             }
         }
index 96bc747d3efb057e7aa2dde44e14dee9668b42a1..4fc8b1d54cfcb1e2edd915c609ed7003ce00a8a1 100644 (file)
@@ -300,7 +300,7 @@ fn emulate_foreign_item(
                         // neither of which have any effect on our current PRNG
                         let _flags = this.read_scalar(args[3])?.to_i32()?;
 
-                        this.gen_random(len as usize, ptr)?;
+                        this.gen_random(ptr, len as usize)?;
                         this.write_scalar(Scalar::from_uint(len, dest.layout.size), dest)?;
                     }
                     id => {
@@ -776,7 +776,7 @@ fn emulate_foreign_item(
             "SecRandomCopyBytes" => {
                 let len = this.read_scalar(args[1])?.to_usize(this)?;
                 let ptr = this.read_scalar(args[2])?.not_undef()?;
-                this.gen_random(len as usize, ptr)?;
+                this.gen_random(ptr, len as usize)?;
                 this.write_null(dest)?;
             }
 
@@ -938,7 +938,7 @@ fn emulate_foreign_item(
             "SystemFunction036" => {
                 let ptr = this.read_scalar(args[0])?.not_undef()?;
                 let len = this.read_scalar(args[1])?.to_u32()?;
-                this.gen_random(len as usize, ptr)?;
+                this.gen_random(ptr, len as usize)?;
                 this.write_scalar(Scalar::from_bool(true), dest)?;
             }