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

Attachment: signature.asc
Description: Digital signature

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to