[PUSHED] Fix off-by-one storage problem in irange_allocator.
Andrew MacLeod
amacleod@redhat.com
Tue Oct 6 18:59:14 GMT 2020
On 10/6/20 2:41 PM, Andreas Schwab wrote:
> On Okt 06 2020, Andrew MacLeod via Gcc-patches wrote:
>
>> diff --git a/gcc/value-range.h b/gcc/value-range.h
>> index 7031a823138..02a952bf81f 100644
>> --- a/gcc/value-range.h
>> +++ b/gcc/value-range.h
>> @@ -668,13 +668,12 @@ irange_allocator::allocate (unsigned num_pairs)
>> if (num_pairs < 2)
>> num_pairs = 2;
>>
>> - struct newir {
>> - irange range;
>> - tree mem[2];
>> - };
>> - size_t nbytes = (sizeof (newir) + sizeof (tree) * 2 * (num_pairs - 1));
>> - struct newir *r = (newir *) obstack_alloc (&m_obstack, nbytes);
>> - return new (r) irange (r->mem, num_pairs);
>> + size_t nbytes = sizeof (tree) * 2 * num_pairs;
>> +
>> + // Allocate the irnge and required memory for the vector
> Typo: irange
>
> Andreas.
>
Ha. Its all good now. THIS is actually the final final FINAL patch
which is going thru testing.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: one.diff
Type: text/x-patch
Size: 797 bytes
Desc: not available
URL: <https://gcc.gnu.org/pipermail/gcc-patches/attachments/20201006/f6f6dbed/attachment-0001.bin>
More information about the Gcc-patches
mailing list