Re: [PATCH 02/10] staging: most: fix usage of false data type

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Oct 15, 2015 at 01:28:52PM +0200, Christian Gromm wrote:
> This patch changes the data type from u32 to u16 used for temporary
> variable. It is needed to stay in the correct range and get rid of
> the unnecessary cast.
> 
> Signed-off-by: Christian Gromm <christian.gromm@xxxxxxxxxxxxx>
> ---
>  drivers/staging/most/hdm-dim2/dim2_hdm.c |    6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/staging/most/hdm-dim2/dim2_hdm.c b/drivers/staging/most/hdm-dim2/dim2_hdm.c
> index 45b8332..dda02a6 100644
> --- a/drivers/staging/most/hdm-dim2/dim2_hdm.c
> +++ b/drivers/staging/most/hdm-dim2/dim2_hdm.c
> @@ -381,11 +381,11 @@ static void service_done_flag(struct dim2_hdm *dev, int ch_idx)
>  			if (hdm_ch->data_type == MOST_CH_CONTROL ||
>  			    hdm_ch->data_type == MOST_CH_ASYNC) {
>  
> -				u32 const data_size =
> -					(u32)data[0] * 256 + data[1] + 2;
> +				u16 const data_size =
> +					(u16)data[0] * 256 + data[1] + 2;

data is a u8 pointer.  The cast makes no sense, because integer
promotion means it is cast to int anyway.  The const makes no sense.
We have introduced the possibility of an integer overflow bug by
changing the type to u16.  I don't know if that matters...


regards,
dan carpenter

_______________________________________________
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxx
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel



[Index of Archives]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux