]> git.proxmox.com Git - mirror_edk2.git/blobdiff - SecurityPkg/Library/Tpm2CommandLib/Tpm2NVStorage.c
SecurityPkg: Correct data copy in Tpm2NvReadPublic.
[mirror_edk2.git] / SecurityPkg / Library / Tpm2CommandLib / Tpm2NVStorage.c
index 5fe48e180463ae26a46ad3a46f7bfe384ab68025..950802213232c80cf6df5457754b40f4e62e898d 100644 (file)
@@ -250,11 +250,11 @@ Tpm2NvReadPublic (
   NvPublic->nvPublic.nameAlg = SwapBytes16 (NvPublic->nvPublic.nameAlg);\r
   WriteUnaligned32 ((UINT32 *)&NvPublic->nvPublic.attributes, SwapBytes32 (ReadUnaligned32 ((UINT32 *)&NvPublic->nvPublic.attributes)));\r
   NvPublic->nvPublic.authPolicy.size = SwapBytes16 (NvPublic->nvPublic.authPolicy.size);\r
-  Buffer = (UINT8 *)&NvPublic->nvPublic.authPolicy;\r
+  Buffer = (UINT8 *)&RecvBuffer.NvPublic.nvPublic.authPolicy;\r
   Buffer += sizeof(UINT16) + NvPublic->nvPublic.authPolicy.size;\r
   NvPublic->nvPublic.dataSize = SwapBytes16 (ReadUnaligned16 ((UINT16 *)Buffer));\r
 \r
-  CopyMem (NvName, (UINT8 *)&RecvBuffer + sizeof(TPM2_RESPONSE_HEADER) + sizeof(UINT16) + NvPublicSize, NvNameSize);\r
+  CopyMem (NvName->name, (UINT8 *)&RecvBuffer + sizeof(TPM2_RESPONSE_HEADER) + sizeof(UINT16) + NvPublicSize + sizeof(UINT16), NvNameSize);\r
   NvName->size = NvNameSize;\r
   \r
   return EFI_SUCCESS;\r