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> {
209
209
let lfn_seq = ( ( lfns[ i] . seq & 0x1f ) as usize ) - 1 ;
210
210
let lfn_block = & mut long_entry[ lfn_seq * 13 ..( lfn_seq + 1 ) * 13 ] ;
211
211
212
+ // Need explicit copy to avoid borrowing packed structure
213
+ let name = lfns[ i] . name ;
212
214
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 ;
214
218
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 ;
216
222
let s = & mut lfn_block[ 11 ..13 ] ;
217
- s. copy_from_slice ( unsafe { & lfns [ i ] . name3 [ .. ] } ) ;
223
+ s. copy_from_slice ( & name3) ;
218
224
219
225
continue ;
220
226
}
You can’t perform that action at this time.
0 commit comments