Hi Paul,

> By the way, why write "if __GNUC__ >= 5 && !defined __cplusplus && 
> !defined __clang__" instead of "ifdef __CHKP__"? The latter is easier to 
> read....

I couldn't find any documentation for this __CHKP__ macro.

> An advantage of the #ifdef __CHKP__ code I suggested is 
> that it never calculates a pointer outside the bounds of the 
> newly-allocated block (or to just past the block). Such calculations 
> violate the C standard

The code that I committed does not have such "bad" pointers in intermediate
expressions either. It computes a valid pointer, converts it to uintptr_t,
does some arithmetic on it, and then converts back to a pointer. Since the
resulting pointer is in the malloc'ed range, it is valid.

Bruno


Reply via email to