This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: operator new[] overflow (PR 19351)


On Wed, Dec 01, 2010 at 10:26:58PM -0800, Florian Weimer wrote:
> * Chris Lattner:
> 
> > On overflow it just forces the size passed in to operator new to
> > -1ULL, which throws bad_alloc.
> 
> This is also what my patch tries to implement.

Yes, but Chris's code just checks the overflow of the multiply.  Your
patch achieves the same result in a more complex way, by
computing the largest non-overflowing value of n in

new T[n];

and comparing n against that.  Even though max_size_t/sizeof T is a
compile-time constant, this is still more expensive.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]