Fix: plugin-dev.h: Disable address sanitizer on pointer array section variables
authorMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mon, 17 Feb 2020 23:33:12 +0000 (18:33 -0500)
committerSimon Marchi <simon.marchi@efficios.com>
Thu, 27 Feb 2020 18:44:53 +0000 (13:44 -0500)
commitce34b0392921093a8e86661c485a132c479abb05
tree6c2e206b7df2f540253d22e383dccfcaaa5fc950
parente511a2649d504f1e535cefa9b579f1cee2efc92c
Fix: plugin-dev.h: Disable address sanitizer on pointer array section variables

The plugin header declares pointer global variables in plugins meant to
be placed contiguously within their own sections, and then used as an
array of pointers when loading the plugin.

Clang Address Sanitizer adds redzones around each variable, thus leading
to detection of a global buffer overflow.

Those redzones should not be placed within this section, because it
defeats its purpose. Therefore, teach asan not to add redzones
around those variables with an attribute.

Note that there does not appear to be any issue with gcc (tested with
gcc-8 with address sanitization enabled), and gcc ignores the
no_sanitize_address attribute when applied to a global variable.

Fixes: #1231
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Change-Id: I5488d61a7d714e6525a3a623d303c5fd30b76bc2
Reviewed-on: https://review.lttng.org/c/babeltrace/+/3102
Reviewed-by: Simon Marchi <simon.marchi@efficios.com>
include/babeltrace2/plugin/plugin-dev.h
This page took 0.024847 seconds and 4 git commands to generate.