Good points.

Regarding negatives, I believe 'operator new' takes a size_t,
which is unsigned, but if it were signed it, the multiplication
would indeed be in danger of creating a negative.

If possible, I would prefer a solution that's built-in to operator
new.  I was thinking it should be implemented when code is
generated, for example using jc/jo/seto on i386.

--
Karl 2007-04-06 15:41

I've a good proposition for catching intruders in the code using
an option  -DCATCH_NEW_INTRUDER by example:

   int * allocate_int(size_t n)
   {
       int *p;
#ifdef CATCH_NEW_INTRUDER
       log_and_raise_if_new_intruder_anomaly(n,4);
#endif //CATCH_NEW_INTRUDER
       p = (int*) operator new[](4 * n);
#ifdef CATCH_NEW_INTRUDER
       log_and_raise_if_new_intruder_anomaly_return_not_null(n,4,p);
#endif //CATCH_NEW_INTRUDER
       return p;
   }

J.C. Pizarro

Reply via email to