Add check when use *Pointer as Sd->mRight[*Pointer] to avoid out of Array bound.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7382 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
lgao4
2009-02-01 04:48:29 +00:00
parent 3dc3861a4e
commit 29666911f7

View File

@@ -226,10 +226,12 @@ MakeTable (
*Pointer = Avail++; *Pointer = Avail++;
} }
if ((Index3 & Mask) != 0) { if (*Pointer < (2 * NC - 1)) {
Pointer = &Sd->mRight[*Pointer]; if ((Index3 & Mask) != 0) {
} else { Pointer = &Sd->mRight[*Pointer];
Pointer = &Sd->mLeft[*Pointer]; } else {
Pointer = &Sd->mLeft[*Pointer];
}
} }
Index3 <<= 1; Index3 <<= 1;