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 {
431431 return Err ( FileSystemError :: NotSupported ) ;
432432 }
433433
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+ } ;
437437
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)
443439 }
444440
445441 fn write_at ( & self , offset : usize , usr_buffer : & [ u8 ] ) -> super :: Result < usize > {
You can’t perform that action at this time.
0 commit comments