Fix unchecked use of tree_to_uhwi in tree-ssa-strlen.c
Richard Biener
richard.guenther@gmail.com
Mon Oct 14 11:46:00 GMT 2019
On Fri, Oct 11, 2019 at 4:47 PM Richard Sandiford
<richard.sandiford@arm.com> wrote:
>
> r273783 introduced an unchecked use of tree_to_uhwi. This is
> tested by the SVE ACLE patches, but could potentially trigger
> in non-SVE cases too.
>
> Tested on aarch64-linux-gnu and x86_64-linux-gnu. OK to install?
OK.
Richard.
> Richard
>
>
> 2019-10-11 Richard Sandiford <richard.sandiford@arm.com>
>
> gcc/
> * tree-ssa-strlen.c (count_nonzero_bytes): Check tree_fits_uhwi_p
> before using tree_to_uhwi.
>
> Index: gcc/tree-ssa-strlen.c
> ===================================================================
> --- gcc/tree-ssa-strlen.c 2019-10-11 15:43:51.127514545 +0100
> +++ gcc/tree-ssa-strlen.c 2019-10-11 15:46:11.718524445 +0100
> @@ -4026,10 +4026,10 @@ count_nonzero_bytes (tree exp, unsigned
>
> /* The size of the MEM_REF access determines the number of bytes. */
> tree type = TREE_TYPE (exp);
> - if (tree typesize = TYPE_SIZE_UNIT (type))
> - nbytes = tree_to_uhwi (typesize);
> - else
> + tree typesize = TYPE_SIZE_UNIT (type);
> + if (!typesize || !tree_fits_uhwi_p (typesize))
> return false;
> + nbytes = tree_to_uhwi (typesize);
>
> /* Handle MEM_REF = SSA_NAME types of assignments. */
> return count_nonzero_bytes (arg, offset, nbytes, lenrange, nulterm,
More information about the Gcc-patches
mailing list