summaryrefslogtreecommitdiffstats
path: root/UnixPkg
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 /UnixPkg
parent379f83dff03405050eb8b1d778276aa8f4a178bc (diff)
downloadedk2-c0351cfecaa19d9e3384fd7180c621ec1ace4caa.tar.gz
edk2-c0351cfecaa19d9e3384fd7180c621ec1ace4caa.tar.bz2
edk2-c0351cfecaa19d9e3384fd7180c621ec1ace4caa.zip
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
Diffstat (limited to 'UnixPkg')
-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);
+ }
}