From 0814aa71f34e4d3d53eb41c638fd84d83fcb90c6 Mon Sep 17 00:00:00 2001 From: Kyle Knoepfel Date: Tue, 2 Dec 2025 11:00:28 -0600 Subject: [PATCH] Fix linking error and switch to snprintf for safer buffer filling --- test/form/data_products/CMakeLists.txt | 2 +- test/form/reader.cpp | 4 ++-- test/form/writer.cpp | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/test/form/data_products/CMakeLists.txt b/test/form/data_products/CMakeLists.txt index 361c7c52e..a3db21c69 100644 --- a/test/form/data_products/CMakeLists.txt +++ b/test/form/data_products/CMakeLists.txt @@ -3,7 +3,7 @@ add_library( ${FORM_DATA_PROD_LIB_NAME} SHARED track_start.cpp ) # REFLEX_GENERATE_DICTIONARY doesn't work trivially without making a shared # library -target_link_libraries(${FORM_DATA_PROD_LIB_NAME}) +target_link_libraries(${FORM_DATA_PROD_LIB_NAME} ROOT::RIO) if(FORM_USE_ROOT_STORAGE) find_package(ROOT REQUIRED COMPONENTS Core RIO) diff --git a/test/form/reader.cpp b/test/form/reader.cpp index 08224451b..e480108c2 100644 --- a/test/form/reader.cpp +++ b/test/form/reader.cpp @@ -43,7 +43,7 @@ int main(int /* argc*/, char** /* argv[]*/) // Processing per sub-event std::vector const* track_start_x = nullptr; char seg_id_text[64]; - sprintf(seg_id_text, seg_id, nevent, nseg); + snprintf(seg_id_text, 64, seg_id, nevent, nseg); std::string const creator = "Toy_Tracker"; mock_phlex::product_base pb = { "trackStart", seg_id_text, track_start_x, std::type_index{typeid(std::vector)}}; @@ -87,7 +87,7 @@ int main(int /* argc*/, char** /* argv[]*/) std::cout << "PHLEX: Read Event segments done " << nevent << std::endl; char evt_id_text[64]; - sprintf(evt_id_text, evt_id, nevent); + snprintf(evt_id_text, 64, evt_id, nevent); std::string const creator = "Toy_Tracker_Event"; mock_phlex::product_base pb = { "trackStartX", evt_id_text, track_x, std::type_index{typeid(std::vector)}}; diff --git a/test/form/writer.cpp b/test/form/writer.cpp index 5abe5609e..da363f760 100644 --- a/test/form/writer.cpp +++ b/test/form/writer.cpp @@ -72,7 +72,7 @@ int main(int /*argc*/, char** /* argv[]*/) // done, phlex call write(mock_phlex::product_base) // sub-event writing called by phlex char seg_id_text[64]; - sprintf(seg_id_text, seg_id, nevent, nseg); + snprintf(seg_id_text, 64, seg_id, nevent, nseg); std::vector batch; std::string const creator = "Toy_Tracker"; mock_phlex::product_base pb = { @@ -122,7 +122,7 @@ int main(int /*argc*/, char** /* argv[]*/) // event writing, current framework, will also write references char evt_id_text[64]; - sprintf(evt_id_text, evt_id, nevent); + snprintf(evt_id_text, 64, evt_id, nevent); std::string const creator = "Toy_Tracker_Event"; mock_phlex::product_base pb = { "trackStartX", evt_id_text, &track_x, std::type_index{typeid(std::vector)}};