summaryrefslogtreecommitdiffstats
path: root/MdeModulePkg/Universal/EbcDxe
diff options
context:
space:
mode:
authorjji4 <jji4@6f19259b-4bc3-4df7-8a09-765794883524>2009-01-15 03:31:55 +0000
committerjji4 <jji4@6f19259b-4bc3-4df7-8a09-765794883524>2009-01-15 03:31:55 +0000
commit6d9f0e7eecbdbe020dd06610d2e0fe776fcf4338 (patch)
treea1a2bf249e1f867a7179fd9629c7c4fc06c762f9 /MdeModulePkg/Universal/EbcDxe
parentb77d0076f9379fc82499408d52eee702d2b29599 (diff)
downloadedk2-6d9f0e7eecbdbe020dd06610d2e0fe776fcf4338.tar.gz
edk2-6d9f0e7eecbdbe020dd06610d2e0fe776fcf4338.tar.bz2
edk2-6d9f0e7eecbdbe020dd06610d2e0fe776fcf4338.zip
Source level security checked
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7282 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdeModulePkg/Universal/EbcDxe')
-rw-r--r--MdeModulePkg/Universal/EbcDxe/EbcExecute.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/MdeModulePkg/Universal/EbcDxe/EbcExecute.c b/MdeModulePkg/Universal/EbcDxe/EbcExecute.c
index a6d0486632..4f47e206e7 100644
--- a/MdeModulePkg/Universal/EbcDxe/EbcExecute.c
+++ b/MdeModulePkg/Universal/EbcDxe/EbcExecute.c
@@ -1370,6 +1370,11 @@ EbcExecuteInstructions (
UINTN InstructionsLeft;
UINTN SavedInstructionCount;
+ if ((*VmPtr->Ip & 0x3F) >= sizeof(mVmOpcodeTable)) {
+ EbcDebugSignalException (EXCEPT_EBC_INVALID_OPCODE, EXCEPTION_FLAG_FATAL, VmPtr);
+ return EFI_UNSUPPORTED;
+ }
+
Status = EFI_SUCCESS;
if (*InstructionCount == 0) {