X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=OptionRomPkg%2FAtapiPassThruDxe%2FAtapiPassThru.c;h=3578a1e4459c97cd13bf167e53c39cb78714c783;hp=d2a9d7b11e51245cdc2ee4e914a275074e2d1013;hb=8e01b449de91cfcd1bdf473ae1bc766c22eb616e;hpb=ac1ca10416edf34b6700a31d0bc58d144e35974c diff --git a/OptionRomPkg/AtapiPassThruDxe/AtapiPassThru.c b/OptionRomPkg/AtapiPassThruDxe/AtapiPassThru.c index d2a9d7b11e..3578a1e445 100644 --- a/OptionRomPkg/AtapiPassThruDxe/AtapiPassThru.c +++ b/OptionRomPkg/AtapiPassThruDxe/AtapiPassThru.c @@ -1749,10 +1749,12 @@ Returns: { UINT8 Index; UINT8 *OpCode; + UINT8 ArrayLen; OpCode = (UINT8 *) (Packet->Cdb); + ArrayLen = (UINT8) (sizeof (gSupportedATAPICommands) / sizeof (gSupportedATAPICommands[0])); - for (Index = 0; CompareMem (&gSupportedATAPICommands[Index], &gEndTable, sizeof (SCSI_COMMAND_SET)); Index++) { + for (Index = 0; (Index < ArrayLen) && (CompareMem (&gSupportedATAPICommands[Index], &gEndTable, sizeof (SCSI_COMMAND_SET)) != 0); Index++) { if (*OpCode == gSupportedATAPICommands[Index].OpCode) { // @@ -1990,10 +1992,12 @@ Returns: { UINT8 Index; UINT8 *OpCode; + UINT8 ArrayLen; OpCode = (UINT8 *) (Packet->Cdb); + ArrayLen = (UINT8) (sizeof (gSupportedATAPICommands) / sizeof (gSupportedATAPICommands[0])); - for (Index = 0; CompareMem (&gSupportedATAPICommands[Index], &gEndTable, sizeof (SCSI_COMMAND_SET)); Index++) { + for (Index = 0; (Index < ArrayLen) && (CompareMem (&gSupportedATAPICommands[Index], &gEndTable, sizeof (SCSI_COMMAND_SET)) != 0); Index++) { if (*OpCode == gSupportedATAPICommands[Index].OpCode) { //