Fix unchecked use of tree_to_uhwi in tree-ssa-strlen.c
Richard Sandiford
richard.sandiford@arm.com
Fri Oct 11 14:52:00 GMT 2019
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?
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