Skip to content

Commit 806ceb0

Browse files
committed
Uhyve: Cast argv, env ptrs before pushing
1 parent 5d5f692 commit 806ceb0

File tree

1 file changed

+9
-13
lines changed

1 file changed

+9
-13
lines changed

src/syscalls/interfaces/uhyve.rs

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -141,10 +141,10 @@ impl SyscallInterface for Uhyve {
141141
let mut argv = Box::new(Vec::with_capacity(syscmdsize.argc as usize));
142142
let mut argv_phy = Vec::with_capacity(syscmdsize.argc as usize);
143143
for i in 0..syscmdsize.argc as usize {
144-
argv.push(crate::__sys_malloc(
145-
syscmdsize.argsz[i] as usize * mem::size_of::<u8>(),
146-
1,
147-
));
144+
argv.push(
145+
crate::__sys_malloc(syscmdsize.argsz[i] as usize * mem::size_of::<u8>(), 1)
146+
.cast_const(),
147+
);
148148
argv_phy.push(
149149
paging::virtual_to_physical(VirtAddr(argv[i] as u64))
150150
.unwrap()
@@ -156,10 +156,10 @@ impl SyscallInterface for Uhyve {
156156
let mut env = Box::new(Vec::with_capacity(syscmdsize.envc as usize + 1));
157157
let mut env_phy = Vec::with_capacity(syscmdsize.envc as usize + 1);
158158
for i in 0..syscmdsize.envc as usize {
159-
env.push(crate::__sys_malloc(
160-
syscmdsize.envsz[i] as usize * mem::size_of::<u8>(),
161-
1,
162-
));
159+
env.push(
160+
crate::__sys_malloc(syscmdsize.envsz[i] as usize * mem::size_of::<u8>(), 1)
161+
.cast_const(),
162+
);
163163
env_phy.push(
164164
paging::virtual_to_physical(VirtAddr(env[i] as u64))
165165
.unwrap()
@@ -176,11 +176,7 @@ impl SyscallInterface for Uhyve {
176176

177177
let (argv_ptr, _, _) = argv.into_raw_parts();
178178
let (env_ptr, _, _) = env.into_raw_parts();
179-
(
180-
syscmdsize.argc,
181-
argv_ptr as *const *const u8,
182-
env_ptr as *const *const u8,
183-
)
179+
(syscmdsize.argc, argv_ptr, env_ptr)
184180
}
185181

186182
fn shutdown(&self, arg: i32) -> ! {

0 commit comments

Comments
 (0)