sanitizers: C/C++ source code to trigger Address and Undefined Behaviour Sanitizers

Recent gcc and clang compiler versions provide functionality to memory violations and other undefined behaviour; this is often referred to as "Address Sanitizer" (or SAN) and "Undefined Behaviour Sanitizer" (UBSAN). The Writing R Extension manual describes this in some detail in Section 4.9. This feature has to be enabled in the corresponding binary, eg in R, which is somewhat involved as it also required a current compiler toolchain which is not yet widely available, or in the case of Windows, not available at all (via the common Rtools mechanism). As an alternative, the pre-built Docker containers available via the Docker Hub at https://registry.hub.docker.com/u/eddelbuettel/docker-debian-r/ can be used on Linux, and via boot2docker on Windows and OS X. This package then provides a means of testing the compiler setup as the known code failures provides in the sample code here should be detected correctly, whereas a default build of R will let the package pass. The code samples are based on the examples from the Address Sanitizer Wiki at https://code.google.com/p/address-sanitizer/wiki/AddressSanitizer.

Version: 0.1.0
Published: 2014-08-03
Author: Dirk Eddelbuettel
Maintainer: Dirk Eddelbuettel <edd at debian.org>
License: GPL-2 | GPL-3 [expanded from: GPL (≥ 2)]
NeedsCompilation: yes
Materials: README ChangeLog
CRAN checks: sanitizers results

Documentation:

Reference manual: sanitizers.pdf

Downloads:

Package source: sanitizers_0.1.0.tar.gz
Windows binaries: r-devel: sanitizers_0.1.0.zip, r-release: sanitizers_0.1.0.zip, r-oldrel: sanitizers_0.1.0.zip
macOS binaries: r-release (arm64): sanitizers_0.1.0.tgz, r-oldrel (arm64): sanitizers_0.1.0.tgz, r-release (x86_64): sanitizers_0.1.0.tgz, r-oldrel (x86_64): sanitizers_0.1.0.tgz

Linking:

Please use the canonical form https://CRAN.R-project.org/package=sanitizers to link to this page.