Boost logo

Boost :

From: Markus Schöpflin (markus.schoepflin_at_[hidden])
Date: 2005-12-22 04:47:07


boost.test currently contains an assortment of new operators which IMO are
not conforming to the C++ std.

The implementation basically looks like this:

p = std::malloc(n);
if (!p) throw std::bad_alloc();

This ignores the fact the std::malloc() is allowed to return either 0 or
some unique pointer on zero sized requests, whereas a C++ allocation
function _must_ return a unique pointer for each zero sized request.

If I'm correct, this could be easily fixed by changing all occurences of "p
= std::malloc(n)" to "p = std::malloc(n ? n : 1)" or something similar.

Regards, Markus

Boost list run by bdawes at, gregod at, cpdaniel at, john at