Revision: 18055
          http://sourceforge.net/p/edk2/code/18055
Author:   jljusten
Date:     2015-07-26 08:03:54 +0000 (Sun, 26 Jul 2015)
Log Message:
-----------
SecurityPkg AuthVariableLib: Correct address pointers data

Originally, the double pointer (VOID **) is not correct for convert
address pointers, and also some address pointers were missing.

Cc: Jiewen Yao <[email protected]>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <[email protected]>
Reviewed-by: Jiewen Yao <[email protected]>
[[email protected]: fix up gcc build failure -- add more (VOID **) casts]
Tested-by: Laszlo Ersek <[email protected]>
Signed-off-by: Laszlo Ersek <[email protected]>

Modified Paths:
--------------
    trunk/edk2/SecurityPkg/Library/AuthVariableLib/AuthVariableLib.c

Modified: trunk/edk2/SecurityPkg/Library/AuthVariableLib/AuthVariableLib.c
===================================================================
--- trunk/edk2/SecurityPkg/Library/AuthVariableLib/AuthVariableLib.c    
2015-07-26 08:03:50 UTC (rev 18054)
+++ trunk/edk2/SecurityPkg/Library/AuthVariableLib/AuthVariableLib.c    
2015-07-26 08:03:54 UTC (rev 18055)
@@ -101,7 +101,7 @@
   },
 };
 
-VOID *mAddressPointer[3];
+VOID **mAuthVarAddressPointer[10];
 
 AUTH_VAR_LIB_CONTEXT_IN *mAuthVarLibContextIn = NULL;
 
@@ -406,11 +406,18 @@
   AuthVarLibContextOut->StructSize = sizeof (AUTH_VAR_LIB_CONTEXT_OUT);
   AuthVarLibContextOut->AuthVarEntry = mAuthVarEntry;
   AuthVarLibContextOut->AuthVarEntryCount = sizeof (mAuthVarEntry) / sizeof 
(mAuthVarEntry[0]);
-  mAddressPointer[0] = mHashCtx;
-  mAddressPointer[1] = mPubKeyStore;
-  mAddressPointer[2] = mCertDbStore;
-  AuthVarLibContextOut->AddressPointer = mAddressPointer;
-  AuthVarLibContextOut->AddressPointerCount = sizeof (mAddressPointer) / 
sizeof (mAddressPointer[0]);
+  mAuthVarAddressPointer[0] = (VOID **) &mPubKeyStore;
+  mAuthVarAddressPointer[1] = (VOID **) &mCertDbStore;
+  mAuthVarAddressPointer[2] = (VOID **) &mHashCtx;
+  mAuthVarAddressPointer[3] = (VOID **) &mAuthVarLibContextIn;
+  mAuthVarAddressPointer[4] = (VOID **) &(mAuthVarLibContextIn->FindVariable),
+  mAuthVarAddressPointer[5] = (VOID **) 
&(mAuthVarLibContextIn->FindNextVariable),
+  mAuthVarAddressPointer[6] = (VOID **) 
&(mAuthVarLibContextIn->UpdateVariable),
+  mAuthVarAddressPointer[7] = (VOID **) 
&(mAuthVarLibContextIn->GetScratchBuffer),
+  mAuthVarAddressPointer[8] = (VOID **) 
&(mAuthVarLibContextIn->CheckRemainingSpaceForConsistency),
+  mAuthVarAddressPointer[9] = (VOID **) &(mAuthVarLibContextIn->AtRuntime),
+  AuthVarLibContextOut->AddressPointer = mAuthVarAddressPointer;
+  AuthVarLibContextOut->AddressPointerCount = sizeof (mAuthVarAddressPointer) 
/ sizeof (mAuthVarAddressPointer[0]);
 
   return Status;
 }


------------------------------------------------------------------------------
_______________________________________________
edk2-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-commits

Reply via email to