breakpad/src
Ivan Penkov ebba1800e4 Explicitly call non-sized delete on dynamically sized memory for correct behavior under sized-delete.
The code as it stands allocates a chunk of memory of arbitrary size and places an object into it. It stores a pointer to that object and memory into a list telling the compiler that it is a pointer to a char.  When the compiler deletes the objects in the list it thinks that the list contains pointers to chars - not pointers to arbitrarily sized regions of memory.

This is fixing an issue that will reproduces when the following optimization (C++ sized dealocation) is enabled: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3536.html

The fix is to explicitly call the non-sized delete operator, and the library code that supports malloc/free/new/delete will figure out the size of the block of memory from the pointer being passed in.

Patch provided by Darryl Gove.

R=mark@chromium.org

Review URL: https://codereview.chromium.org/1788473002 .
2016-03-11 16:37:46 -08:00
..
build Rename gyp variable use_titlecase_in_grd_files -> use_titlecase_in_grd. 2014-09-10 12:47:46 +00:00
client Don't merge the mappings if their exec bit are different. 2016-03-08 08:46:00 +00:00
common Fix format warning in omap.cc 2016-03-10 08:51:20 -05:00
google_breakpad Support processing microdumps for x86 architecture. 2016-02-18 06:13:56 -08:00
processor Explicitly call non-sized delete on dynamically sized memory for correct behavior under sized-delete. 2016-03-11 16:37:46 -08:00
third_party Improvements to GYP build 2016-01-29 11:43:21 +00:00
tools [mips64] Support for mips n64 2016-02-06 18:58:39 -05:00
breakpad_googletest_includes.h test: allow use of system gmock/gtest libs 2016-01-25 19:27:56 -05:00
config.h.in Use AM_MAINTAINER_MODE so configure supports --enable-maintainer-mode 2013-12-10 12:28:11 +00:00