Skip to content

Commit 10dbb82

Browse files
Ayush1325gitbot
authored and
gitbot
committed
uefi: process: Fix args
- While working on process env support, I found that args were currently broken. Not sure how I missed it in the PR, but well here is the fix. - Additionally, no point in adding space at the end of args. Signed-off-by: Ayush Singh <ayush@beagleboard.org>
1 parent 342a8fc commit 10dbb82

File tree

1 file changed

+3
-4
lines changed

1 file changed

+3
-4
lines changed

std/src/sys/pal/uefi/process.rs

+3-4
Original file line numberDiff line numberDiff line change
@@ -460,7 +460,7 @@ mod uefi_command_internal {
460460
helpers::open_protocol(self.handle, loaded_image::PROTOCOL_GUID).unwrap();
461461

462462
let len = args.len();
463-
let args_size: u32 = crate::mem::size_of_val(&args).try_into().unwrap();
463+
let args_size: u32 = (len * crate::mem::size_of::<u16>()).try_into().unwrap();
464464
let ptr = Box::into_raw(args).as_mut_ptr();
465465

466466
unsafe {
@@ -706,9 +706,10 @@ mod uefi_command_internal {
706706
res.push(QUOTE);
707707
res.extend(prog.encode_wide());
708708
res.push(QUOTE);
709-
res.push(SPACE);
710709

711710
for arg in args {
711+
res.push(SPACE);
712+
712713
// Wrap the argument in quotes to be treat as single arg
713714
res.push(QUOTE);
714715
for c in arg.encode_wide() {
@@ -719,8 +720,6 @@ mod uefi_command_internal {
719720
res.push(c);
720721
}
721722
res.push(QUOTE);
722-
723-
res.push(SPACE);
724723
}
725724

726725
res.into_boxed_slice()

0 commit comments

Comments
 (0)