On Mon, Apr 18, 2016 at 10:24:20PM +0200, Mateusz Kulikowski wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA256 > > On 18.04.2016 22:23, Mateusz Kulikowski wrote: > > Hi, > > > > Sorry for slow reply. > > > > On 12.04.2016 21:11, Tom Rini wrote: > >> If get_dev_addr fails it will return FDT_ADDR_T_NONE and: > >>>>> "priv->pid == 4294967295U" is always false regardless of the values > >>>>> of its operands. This occurs as the logical operand of if. > > > >> Cc: Mateusz Kulikowski <mateusz.kulikow...@gmail.com> > >> Reported-by: Coverity (CID: 143913) > > [...] > > > >> - uint16_t pid; /* Peripheral ID on SPMI bus */ > >> + uint32_t pid; /* Peripheral ID on SPMI bus */ > >> }; > > > >> static int pm8916_gpio_set_direction(struct udevice *dev, unsigned offset, > > > > > > Note applies to two patches in this series (pm8916_gpio.c and pm8916.c) > > > > I think (now, when the coverity pointed out mistake) that we should add > > in that case check if pid fits in 16-bits, as this is maximum pid value on > > spmi bus. > > > > This checks should be done in pm8916_gpio_probe() and pm8916_probe(). > > > > Would you like to do it in your series or want me to post another patch on > > top of them? > > Or even better - leave it as uint16_t and do check & cast in probe()
Further sanity checks on the data we get isn't a bad idea, so no casting. -- Tom
signature.asc
Description: Digital signature
_______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot