File tree Expand file tree Collapse file tree 1 file changed +9
-3
lines changed Expand file tree Collapse file tree 1 file changed +9
-3
lines changed Original file line number Diff line number Diff line change @@ -209,12 +209,18 @@ impl<'a> Directory<'a> {
209209 let lfn_seq = ( ( lfns[ i] . seq & 0x1f ) as usize ) - 1 ;
210210 let lfn_block = & mut long_entry[ lfn_seq * 13 ..( lfn_seq + 1 ) * 13 ] ;
211211
212+ // Need explicit copy to avoid borrowing packed structure
213+ let name = lfns[ i] . name ;
212214 let s = & mut lfn_block[ 0 ..5 ] ;
213- s. copy_from_slice ( unsafe { & lfns[ i] . name [ ..] } ) ;
215+ s. copy_from_slice ( & name) ;
216+
217+ let name2 = lfns[ i] . name2 ;
214218 let s = & mut lfn_block[ 5 ..11 ] ;
215- s. copy_from_slice ( unsafe { & lfns[ i] . name2 [ ..] } ) ;
219+ s. copy_from_slice ( & name2) ;
220+
221+ let name3 = lfns[ i] . name3 ;
216222 let s = & mut lfn_block[ 11 ..13 ] ;
217- s. copy_from_slice ( unsafe { & lfns [ i ] . name3 [ .. ] } ) ;
223+ s. copy_from_slice ( & name3) ;
218224
219225 continue ;
220226 }
You can’t perform that action at this time.
0 commit comments