Modify

Opened 7 years ago

Last modified 15 months ago

#4346 reopened Bugs

Boost pool's not comaptible with Microsoft memory leak detection

Reported by: Arkadiy Shapkin <arkadiy_s@…> Owned by: cnewbold
Milestone: Boost 1.61.0 Component: pool
Version: Boost 1.60.0 Severity: Regression
Keywords: Cc: serg_joker@…

Description

Boost pool classes not compatible with Microsoft memory leak detection.

You can include that lines in code: #ifdef _DEBUG

#define _CRTDBG_MAP_ALLOC

#endif #include <crtdbg.h> #include "boost\pool\pool_alloc.hpp"

We can solve problem using two ways:

  1. Rename all malloc & free methods
  2. Add #pragma push_macro, #undef and #pragma pop_macro lines. Also add alternative names for malloc and free methods

Attachments (1)

pool.patch (1.6 KB) - added by Arkadiy Shapkin <arkadiy_s@…> 7 years ago.

Download all attachments as: .zip

Change History (6)

Changed 7 years ago by Arkadiy Shapkin <arkadiy_s@…>

comment:1 Changed 7 years ago by steven_watanabe

  • Component changed from None to pool
  • Owner set to cnewbold

comment:2 Changed 7 years ago by steven_watanabe

  • Resolution set to fixed
  • Status changed from new to closed

(In [63009]) Protect Boost.Pool from evil #defines of malloc and free. Fixes #4346.

comment:3 Changed 6 years ago by marshall

(In [67958]) Merging fixes to release; Fixes #2696; Refs #4346; Refs #2941; Refs #386

comment:4 Changed 15 months ago by serg_joker@…

  • Milestone changed from Boost 1.43.0 to Boost 1.61.0
  • Resolution fixed deleted
  • Severity changed from Problem to Regression
  • Status changed from closed to reopened
  • Version changed from Boost 1.44.0 to Boost 1.60.0

Reproduced again. MSVC 2015 Update 1 boost 1.60

Looks like #pragma push_macro/undef/pop_macro stuff was eliminated

comment:5 Changed 15 months ago by Sergey Pastukhov <serg_joker@…>

  • Cc serg_joker@… added

Add Comment

Modify Ticket

Change Properties
Set your email in Preferences
Action
as reopened The owner will remain cnewbold.
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.