Re: [PATCH v2 1/6] dtc: Avoid UB when shifting

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



On Tue, Jul 14, 2020 at 04:45:37PM +0100, Andrei Ziureaev wrote:
> Prevent undefined behavior when shifting by a number that's bigger than
> or equal to the width of the first operand.
> 
> Signed-off-by: Andrei Ziureaev <andrei.ziureaev@xxxxxxx>

This one makes sense independent of the rest.  Applied.

> ---
>  dtc-parser.y | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/dtc-parser.y b/dtc-parser.y
> index 40dcf4f..a0316a3 100644
> --- a/dtc-parser.y
> +++ b/dtc-parser.y
> @@ -476,8 +476,8 @@ integer_rela:
>  	;
>  
>  integer_shift:
> -	  integer_shift DT_LSHIFT integer_add { $$ = $1 << $3; }
> -	| integer_shift DT_RSHIFT integer_add { $$ = $1 >> $3; }
> +	  integer_shift DT_LSHIFT integer_add { $$ = ($3 < 64) ? ($1 << $3) : 0; }
> +	| integer_shift DT_RSHIFT integer_add { $$ = ($3 < 64) ? ($1 >> $3) : 0; }
>  	| integer_add
>  	;
>  

-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Device Tree]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux