Commit 18c94ec 1 parent 2880f76 commit 18c94ec Copy full SHA for 18c94ec
File tree 1 file changed +12
-6
lines changed
1 file changed +12
-6
lines changed Original file line number Diff line number Diff line change @@ -14,7 +14,6 @@ use std::io::Read;
14
14
use std:: io:: Seek ;
15
15
use std:: io:: SeekFrom ;
16
16
use std:: mem:: size_of;
17
- use td_layout:: build_time:: TD_SHIM_METADATA_SIZE ;
18
17
use td_shim:: metadata:: * ;
19
18
use zeroize:: Zeroize ;
20
19
@@ -243,11 +242,9 @@ impl TdInfoStruct {
243
242
. seek ( SeekFrom :: Start ( metadata_off as u64 ) )
244
243
. unwrap ( ) ;
245
244
246
- let mut metadata_buf = [ 0 ; TD_SHIM_METADATA_SIZE as usize ] ;
247
-
248
- raw_image_file. read_exact ( & mut metadata_buf) . unwrap ( ) ;
249
-
250
- let desc = & metadata_buf[ size_of :: < TdxMetadataGuid > ( ) ..] ;
245
+ let mut desc_buf = [ 0 ; size_of :: < TdxMetadataGuid > ( ) + size_of :: < TdxMetadataDescriptor > ( ) ] ;
246
+ raw_image_file. read_exact ( & mut desc_buf) . unwrap ( ) ;
247
+ let desc = & desc_buf[ size_of :: < TdxMetadataGuid > ( ) ..] ;
251
248
252
249
// Signature 0 CHAR8[4] 4 'TDVF' signature
253
250
// Length 4 UINT32 4 Size of the structure (d)
@@ -261,6 +258,15 @@ impl TdInfoStruct {
261
258
panic ! ( "The descriptor is not valid!\n " ) ;
262
259
}
263
260
261
+ raw_image_file
262
+ . seek ( SeekFrom :: Start (
263
+ metadata_off as u64 + size_of :: < TdxMetadataGuid > ( ) as u64 ,
264
+ ) )
265
+ . unwrap ( ) ;
266
+ let mut metadata_buf = vec ! [ 0 ; descriptor. length as usize ] ;
267
+ raw_image_file. read_exact ( & mut metadata_buf) . unwrap ( ) ;
268
+ let desc = & metadata_buf[ 0 ..] ;
269
+
264
270
desc_offset += size_of :: < TdxMetadataDescriptor > ( ) ;
265
271
266
272
let mut buffer128: [ u8 ; MRTD_EXTENSION_BUFFER_SIZE ] = [ 0 ; MRTD_EXTENSION_BUFFER_SIZE ] ; // used by page add
You can’t perform that action at this time.
0 commit comments