diff options
author | Richard Biener <rguenther@suse.de> | 2020-10-26 10:10:46 +0100 |
---|---|---|
committer | Richard Biener <rguenther@suse.de> | 2020-10-26 11:33:50 +0100 |
commit | 50f9e1f4d458e36d306b2449c689e45492847f68 (patch) | |
tree | e5d464d5871c6db110edc455ba97abd07368ca13 /gcc/sbitmap.c | |
parent | 27c14056f4805c9d8cfc655ef2c846be128b02c9 (diff) | |
download | gcc-50f9e1f4d458e36d306b2449c689e45492847f68.zip gcc-50f9e1f4d458e36d306b2449c689e45492847f68.tar.gz gcc-50f9e1f4d458e36d306b2449c689e45492847f68.tar.bz2 |
middle-end/97554 - avoid overflow in alloc size compute
This avoids overflow in the allocation size computations in
sbitmap_vector_alloc when the result exceeds 2GB.
2020-10-26 Richard Biener <rguenther@suse.de>
* sbitmap.c (sbitmap_vector_alloc): Use size_t for byte
quantities to avoid overflow.
Diffstat (limited to 'gcc/sbitmap.c')
-rw-r--r-- | gcc/sbitmap.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/sbitmap.c b/gcc/sbitmap.c index 292e7ee..3a43fe35 100644 --- a/gcc/sbitmap.c +++ b/gcc/sbitmap.c @@ -139,7 +139,8 @@ sbitmap_realloc (sbitmap src, unsigned int n_elms) sbitmap * sbitmap_vector_alloc (unsigned int n_vecs, unsigned int n_elms) { - unsigned int i, bytes, offset, elm_bytes, size, amt, vector_bytes; + unsigned int i, size; + size_t amt, bytes, vector_bytes, elm_bytes, offset; sbitmap *bitmap_vector; size = SBITMAP_SET_SIZE (n_elms); |