Reviewed-by: Hao A Wu <hao.a...@intel.com> Best Regards, Hao Wu
> -----Original Message----- > From: Ranbir Singh <rsi...@ventanamicro.com> > Sent: Wednesday, August 16, 2023 1:38 PM > To: devel@edk2.groups.io; rsi...@ventanamicro.com > Cc: Wu, Hao A <hao.a...@intel.com>; Ni, Ray <ray...@intel.com>; Veeresh > Sangolli <veeresh.sango...@dellteam.com> > Subject: [PATCH v2 1/2] MdeModulePkg/Bus/Pci/UhciDxe: Fix BAD_SHIFT > Coverity issue > > From: Ranbir Singh <ranbir.sin...@dell.com> > > The function UhciConvertPollRate has a check > > ASSERT (Interval != 0); > > but this comes into play only in DEBUG mode. In Release mode, there is > no handling if the Interval parameter value is ZERO. To avoid shifting > by a negative amount later in the code flow in this undesirable case, > it is better to handle it as well by treating it same as if 1 is sent. > > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4211 > > Cc: Hao A Wu <hao.a...@intel.com> > Cc: Ray Ni <ray...@intel.com> > Co-authored-by: Veeresh Sangolli <veeresh.sango...@dellteam.com> > Signed-off-by: Ranbir Singh <ranbir.sin...@dell.com> > Signed-off-by: Ranbir Singh <rsi...@ventanamicro.com> > --- > MdeModulePkg/Bus/Pci/UhciDxe/UhciSched.c | 10 +++++++++- > 1 file changed, 9 insertions(+), 1 deletion(-) > > diff --git a/MdeModulePkg/Bus/Pci/UhciDxe/UhciSched.c > b/MdeModulePkg/Bus/Pci/UhciDxe/UhciSched.c > index c08f9496969b..408e7d5ab7f3 100644 > --- a/MdeModulePkg/Bus/Pci/UhciDxe/UhciSched.c > +++ b/MdeModulePkg/Bus/Pci/UhciDxe/UhciSched.c > @@ -197,7 +197,7 @@ UhciDestoryFrameList ( > } > > > > /** > > - Convert the poll rate to the maxium 2^n that is smaller > > + Convert the poll rate to the maximum 2^n that is smaller > > than Interval. > > > > @param Interval The poll rate to convert. > > @@ -214,6 +214,14 @@ UhciConvertPollRate ( > > > ASSERT (Interval != 0); > > > > + // > > + // To safeguard RELEASE mode wherein ASSERT is effectively not there, > > + // if inadvertently Interval is still 0 here, treat it the same as 1. > > + // > > + if (Interval == 0) { > > + Interval = 1; > > + } > > + > > // > > // Find the index (1 based) of the highest non-zero bit > > // > > -- > 2.34.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#108896): https://edk2.groups.io/g/devel/message/108896 Mute This Topic: https://groups.io/mt/100774224/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-