summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorandrewfish <andrewfish@6f19259b-4bc3-4df7-8a09-765794883524>2010-08-05 17:08:14 +0000
committerandrewfish <andrewfish@6f19259b-4bc3-4df7-8a09-765794883524>2010-08-05 17:08:14 +0000
commitc0351cfecaa19d9e3384fd7180c621ec1ace4caa (patch)
tree39b05d000524c96559d6fb2d2a95d0ef3b8dbf41
parent379f83dff03405050eb8b1d778276aa8f4a178bc (diff)
downloadedk2-platforms-c0351cfecaa19d9e3384fd7180c621ec1ace4caa.tar.xz
Fix crash in UnixPkg caused by r10769. The DxeCore is not calling the library constructor, but is calling the library members that are coded to assume the constructor has run. Check to make sure constructor has run before using services. If Dxe Core starts calling library constructor then this code will just work, but it may cause an issue with the extra call to load symbols, since we catch the symbol load in DxeIpl.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10774 6f19259b-4bc3-4df7-8a09-765794883524
-rw-r--r--UnixPkg/Library/DxeUnixPeCoffExtraActionLib/DxeUnixPeCoffExtraActionLib.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/UnixPkg/Library/DxeUnixPeCoffExtraActionLib/DxeUnixPeCoffExtraActionLib.c b/UnixPkg/Library/DxeUnixPeCoffExtraActionLib/DxeUnixPeCoffExtraActionLib.c
index e04e580f6c..68bd7f84e2 100644
--- a/UnixPkg/Library/DxeUnixPeCoffExtraActionLib/DxeUnixPeCoffExtraActionLib.c
+++ b/UnixPkg/Library/DxeUnixPeCoffExtraActionLib/DxeUnixPeCoffExtraActionLib.c
@@ -84,8 +84,10 @@ PeCoffLoaderRelocateImageExtraAction (
IN OUT PE_COFF_LOADER_IMAGE_CONTEXT *ImageContext
)
{
- mUnix->PeCoffRelocateImageExtraAction (ImageContext);
+ if (mUnix != NULL) {
+ mUnix->PeCoffRelocateImageExtraAction (ImageContext);
}
+}
@@ -105,5 +107,7 @@ PeCoffLoaderUnloadImageExtraAction (
IN OUT PE_COFF_LOADER_IMAGE_CONTEXT *ImageContext
)
{
- mUnix->PeCoffUnloadImageExtraAction (ImageContext);
+ if (mUnix != NULL) {
+ mUnix->PeCoffUnloadImageExtraAction (ImageContext);
+ }
}