liblinear icon indicating copy to clipboard operation
liblinear copied to clipboard

Consistent memory allocation and memory leak prevention

Open NValerij opened this issue 10 years ago • 0 comments

Hi. This patch aims to prevent memory leaks in the situation of out of memory. It is done by eliminating alloc/free pairs with single CBuffer object, which deletes corresponding memory automatically in destructor (RAII). So now throwing of std::bad_alloc (or any other exception in new) is safe, all memory will be freed. Also all malloc/free operators substituted with new/delete (It is not recommended to mix them in the same program).

Comparing to Pull Request #4, this variant does not use std::vector (it can be inconvenient in some cases) and this patch changes all memory allocations in one time.

Codestyle is subject to discuss, so I can change it (or you can do it easily by yourself).

NValerij avatar Apr 09 '15 17:04 NValerij