From 7caaf6d0d1d68d54466e084d974c23471e2f4177 Mon Sep 17 00:00:00 2001 From: Bastian Dehn Date: Sun, 31 Aug 2025 08:57:32 +0200 Subject: [PATCH] change build default debug with address sanitizer --- CMakeLists.txt | 12 ++++++++++-- libs/spandisc/CMakeLists.txt | 14 -------------- libs/spandisc/src/logic.c | 7 ++++++- 3 files changed, 16 insertions(+), 17 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ec0a4a5..2c306cd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,6 +2,9 @@ cmake_minimum_required(VERSION 3.13.4) set(CMAKE_SYSTEM_NAME "Linux" CACHE STRING "Build for Linux") +set(CMAKE_BUILD_TYPE "Debug" CACHE STRING "Build Type [Debug|Release]") +message(STATUS "CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}") + message(STATUS "CMAKE_SYSTEM_NAME=${CMAKE_SYSTEM_NAME}") if (${CMAKE_SYSTEM_NAME} MATCHES "Linux") @@ -12,8 +15,13 @@ elseif (${CMAKE_SYSTEM_NAME} MATCHES "Windows") set(CMAKE_CXX_COMPILER "x86_64-w64-mingw32-g++" CACHE STRING "C++ Compiler") endif() -set(CMAKE_C_FLAGS "-Wall") -set(CMAKE_CXX_FLAGS "-Wall") +if("${CMAKE_BUILD_TYPE}" STREQUAL "Debug") + set(CMAKE_C_FLAGS "-Wall -g -fsanitize=address") + set(CMAKE_CXX_FLAGS "-Wall -g -fsanitize=address") +else() + set(CMAKE_C_FLAGS "-Werror") + set(CMAKE_CXX_FLAGS "-Werror") +endif() project(discspan) diff --git a/libs/spandisc/CMakeLists.txt b/libs/spandisc/CMakeLists.txt index 038e6eb..7b16242 100644 --- a/libs/spandisc/CMakeLists.txt +++ b/libs/spandisc/CMakeLists.txt @@ -1,19 +1,5 @@ cmake_minimum_required(VERSION 3.13.4) -set(CMAKE_SYSTEM_NAME "Linux" CACHE STRING "Build for Linux") -message(STATUS "CMAKE_SYSTEM_NAME=${CMAKE_SYSTEM_NAME}") - -if (${CMAKE_SYSTEM_NAME} MATCHES "Linux") - set(CMAKE_C_COMPILER "gcc" CACHE STRING "C Compiler") - set(CMAKE_CXX_COMPILER "g++" CACHE STRING "C++ Compiler") -elseif (${CMAKE_SYSTEM_NAME} MATCHES "Windows") - set(CMAKE_C_COMPILER "x86_64-w64-mingw32-gcc" CACHE STRING "C Compiler") - set(CMAKE_CXX_COMPILER "x86_64-w64-mingw32-g++" CACHE STRING "C++ Comiler") -endif() - -set(CMAKE_C_FLAGS "-Wall") -set(CMAKE_CXX_FLAGS "-Wall") - project(spandisc) set(CMAKE_INSTALL_PREFIX "/usr/local" CACHE PATH "Install prefix") diff --git a/libs/spandisc/src/logic.c b/libs/spandisc/src/logic.c index 2fc531e..5e0014e 100644 --- a/libs/spandisc/src/logic.c +++ b/libs/spandisc/src/logic.c @@ -8,6 +8,8 @@ #include "splitter.h" #include "filehandler.h" +#define NUM_LEN 5 + status_print_t status_print = NULL; const char * get_version() @@ -29,7 +31,7 @@ void span(const char *input, const char *output, unsigned long long split) collection_t* col = init_collection(); split_all(&srcdata, col); - char outname[strlen(output) + 4]; + char* outname = malloc(sizeof(char) * (strlen(output) + NUM_LEN)); for (int i = 0; i < col->length; i++) { sprintf(outname, "%s%04d", output, col->disc[i].nr); on_status_print(outname, col->disc[i]); @@ -38,4 +40,7 @@ void span(const char *input, const char *output, unsigned long long split) free_collection(col); col = NULL; + + free(outname); + outname = NULL; } -- 2.47.3