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:
@@ -225,11 +225,13 @@ MakeTable (
|
||||
Sd->mRight[Avail] = Sd->mLeft[Avail] = 0;
|
||||
*Pointer = Avail++;
|
||||
}
|
||||
|
||||
if ((Index3 & Mask) != 0) {
|
||||
Pointer = &Sd->mRight[*Pointer];
|
||||
} else {
|
||||
Pointer = &Sd->mLeft[*Pointer];
|
||||
|
||||
if (*Pointer < (2 * NC - 1)) {
|
||||
if ((Index3 & Mask) != 0) {
|
||||
Pointer = &Sd->mRight[*Pointer];
|
||||
} else {
|
||||
Pointer = &Sd->mLeft[*Pointer];
|
||||
}
|
||||
}
|
||||
|
||||
Index3 <<= 1;
|
||||
|
Reference in New Issue
Block a user