From 2f4767a7d4096f71b182bea65ddca65d7f19a167 Mon Sep 17 00:00:00 2001
From: Michael Cook <michael@episci.com>
Date: Mon, 1 Mar 2021 09:10:50 -0800
Subject: [PATCH] build_oai: Add --sanitize-address option

To enable -fsanitize=address option to the compiler
which enables run-time checks for some kinds of memory
mismanagement.
---
 cmake_targets/CMakeLists.txt | 5 +++++
 cmake_targets/build_oai      | 5 +++++
 2 files changed, 10 insertions(+)

diff --git a/cmake_targets/CMakeLists.txt b/cmake_targets/CMakeLists.txt
index c16170f932..fbc9682d90 100644
--- a/cmake_targets/CMakeLists.txt
+++ b/cmake_targets/CMakeLists.txt
@@ -333,6 +333,11 @@ else (CUDA_FOUND)
     )
 endif ()
 
+if (SANITIZE_ADDRESS)
+    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=address")
+    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address")
+endif ()
+
 add_definitions("-DASN_DISABLE_OER_SUPPORT")
 
 #########################
diff --git a/cmake_targets/build_oai b/cmake_targets/build_oai
index 960b241047..dc3faf664e 100755
--- a/cmake_targets/build_oai
+++ b/cmake_targets/build_oai
@@ -67,6 +67,7 @@ USRP_REC_PLAY="False"
 BUILD_ECLIPSE=0
 NR="False"
 ITTI_SIM="False"
+SANITIZE_ADDRESS="False"
 OPTIONAL_LIBRARIES="telnetsrv enbscope uescope nrscope msc"
 trap handle_ctrl_c INT
 
@@ -416,6 +417,9 @@ function main() {
         CMAKE_CMD="$CMAKE_CMD -GNinja"
 	MAKE_CMD=ninja
 	shift;;
+    --sanitize-address | -fsanitize=address)
+        SANITIZE_ADDRESS=True
+        shift;;
       --ittiSIM)
             ittiSIM=1
             ITTI_SIM="True"
@@ -604,6 +608,7 @@ function main() {
     echo "set ( USRP_REC_PLAY $USRP_REC_PLAY )"                           >> $cmake_file
     echo "set ( SKIP_SHARED_LIB_FLAG $SKIP_SHARED_LIB_FLAG )"             >> $cmake_file
     echo "set ( ITTI_SIM $ITTI_SIM )"                                     >> $cmake_file
+    echo "set ( SANITIZE_ADDRESS $SANITIZE_ADDRESS )"                     >> $cmake_file
     echo 'include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)'         >> $cmake_file
     cd  $DIR/$build_dir/build
     eval $CMAKE_CMD
-- 
2.26.2