File tree Expand file tree Collapse file tree 1 file changed +4
-8
lines changed
src/aero_kernel/src/fs/ext2 Expand file tree Collapse file tree 1 file changed +4
-8
lines changed Original file line number Diff line number Diff line change @@ -431,15 +431,11 @@ impl INodeInterface for INode {
431
431
return Err ( FileSystemError :: NotSupported ) ;
432
432
}
433
433
434
- // TODO: We really should not allocate another buffer here.
435
- let mut buffer = Box :: < [ u8 ] > :: new_uninit_slice ( usr_buffer. len ( ) ) ;
436
- let count = self . read ( offset , MaybeUninit :: slice_as_bytes_mut ( & mut buffer ) ) ? ;
434
+ let buffer = unsafe {
435
+ core :: slice :: from_raw_parts_mut ( usr_buffer. as_mut_ptr ( ) . cast ( ) , usr_buffer . len ( ) )
436
+ } ;
437
437
438
- // SAFETY: We have initialized the data buffer above.
439
- let buffer = unsafe { buffer. assume_init ( ) } ;
440
- usr_buffer. copy_from_slice ( & * buffer) ;
441
-
442
- Ok ( count)
438
+ self . read ( offset, buffer)
443
439
}
444
440
445
441
fn write_at ( & self , offset : usize , usr_buffer : & [ u8 ] ) -> super :: Result < usize > {
You can’t perform that action at this time.
0 commit comments