From c48b12c8c5513e8ec808a40da8f79bb1f1368531 Mon Sep 17 00:00:00 2001 From: Amlal Date: Fri, 27 Sep 2024 11:23:56 +0200 Subject: bugfix: Fixed segfault because of unallocated Builder class. Signed-off-by: Amlal --- cli/AppMain.cxx | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/cli/AppMain.cxx b/cli/AppMain.cxx index 3eee3d4..975ada5 100644 --- a/cli/AppMain.cxx +++ b/cli/AppMain.cxx @@ -43,7 +43,7 @@ int main(int argc, char** argv) std::thread job([](std::string index_path) -> void { if (index_path.ends_with(".json")) { - delete cBuilder; + delete cBuilder; cBuilder = nullptr; if (!cBuilder) @@ -51,12 +51,17 @@ int main(int argc, char** argv) } else if (index_path.ends_with(".toml")) { - delete cBuilder; + delete cBuilder; cBuilder = nullptr; if (!cBuilder) cBuilder = new TOMLManifestBuilder(); } + else + { + cFailed = true; + return; + } std::cout << "btb: Building: " << index_path << std::endl; @@ -66,7 +71,8 @@ int main(int argc, char** argv) } --cJobIndex; - }, index_path); + }, + index_path); job.detach(); } @@ -74,10 +80,10 @@ int main(int argc, char** argv) // wait for completion of all jobs. while (cJobIndex) { - if (cFailed) + if (cFailed) { - std::cout << "btb: Build failed." << std::endl; - return EXIT_FAILURE; + std::cout << "btb: Build failed." << std::endl; + return EXIT_FAILURE; } } -- cgit v1.2.3