Changeset 90315 in vbox for trunk/src/VBox/Runtime/common
- Timestamp:
- Jul 23, 2021 3:48:37 PM (4 years ago)
- svn:sync-xref-src-repo-rev:
- 145872
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Runtime/common/efi/efisignaturedb.cpp
r90287 r90315 273 273 { 274 274 EFI_SIGNATURE_LIST LstHdr; 275 EFI_SIGNATURE_DATA SigData; 275 276 LstHdr.GuidSigType = pDesc->GuidSignatureType; 276 LstHdr.cbSigLst = RT_H2LE_U32(sizeof(LstHdr) + pDesc->cbSigHdr + pIt->cbSignature);277 LstHdr.cbSigLst = RT_H2LE_U32(sizeof(LstHdr) + sizeof(SigData) + pDesc->cbSigHdr + pIt->cbSignature); 277 278 LstHdr.cbSigHdr = RT_H2LE_U32(pDesc->cbSigHdr); 278 LstHdr.cbSig = RT_H2LE_U32(pIt->cbSignature); 279 280 rc = RTVfsFileWrite(hVfsFileOut, &LstHdr, sizeof(LstHdr), NULL /*pcbWritten*/); 281 if (RT_SUCCESS(rc)) 282 { 283 RTSGSEG aSegs[2]; 284 RTSGBUF SgBuf; 285 EFI_SIGNATURE_DATA SigData; 286 RTEfiGuidFromUuid(&SigData.GuidOwner, &pIt->UuidOwner); 287 288 Assert(pDesc->cbSig == pIt->cbSignature); 289 aSegs[0].pvSeg = &SigData; 290 aSegs[0].cbSeg = sizeof(SigData); 291 aSegs[1].pvSeg = &pIt->abSignature[0]; 292 aSegs[1].cbSeg = pIt->cbSignature; 293 RTSgBufInit(&SgBuf, &aSegs[0], RT_ELEMENTS(aSegs)); 294 rc = RTVfsFileSgWrite(hVfsFileOut, -1, &SgBuf, true /*fBlocking*/, NULL /*pcbWritten*/); 295 } 296 279 LstHdr.cbSig = RT_H2LE_U32(pIt->cbSignature + sizeof(SigData)); 280 RTEfiGuidFromUuid(&SigData.GuidOwner, &pIt->UuidOwner); 281 282 RTSGSEG aSegs[3]; 283 RTSGBUF SgBuf; 284 285 Assert(!pDesc->cbSigHdr); 286 aSegs[0].pvSeg = &LstHdr; 287 aSegs[0].cbSeg = sizeof(LstHdr); 288 aSegs[1].pvSeg = &SigData; 289 aSegs[1].cbSeg = sizeof(SigData); 290 aSegs[2].pvSeg = &pIt->abSignature[0]; 291 aSegs[2].cbSeg = pIt->cbSignature; 292 RTSgBufInit(&SgBuf, &aSegs[0], RT_ELEMENTS(aSegs)); 293 rc = RTVfsFileSgWrite(hVfsFileOut, -1, &SgBuf, true /*fBlocking*/, NULL /*pcbWritten*/); 297 294 if (RT_FAILURE(rc)) 298 295 break; 299 296 300 cbWritten += sizeof(LstHdr) + pDesc->cbSigHdr + pIt->cbSignature;297 cbWritten += sizeof(LstHdr) + sizeof(SigData) + pDesc->cbSigHdr + pIt->cbSignature; 301 298 } 302 299
Note:
See TracChangeset
for help on using the changeset viewer.