From 96dac7bb38b88abd8321ea2f33b3bba100ef21e3 Mon Sep 17 00:00:00 2001 From: Christopher Lam Date: Sat, 16 May 2026 18:27:08 +0800 Subject: [PATCH] [gnc-filepath-utils.cpp] null check char* arguments --- libgnucash/core-utils/gnc-filepath-utils.cpp | 2 ++ libgnucash/core-utils/test/gtest-path-utilities.cpp | 2 ++ 2 files changed, 4 insertions(+) diff --git a/libgnucash/core-utils/gnc-filepath-utils.cpp b/libgnucash/core-utils/gnc-filepath-utils.cpp index 4f4080b2db..fe3e31e5ee 100644 --- a/libgnucash/core-utils/gnc-filepath-utils.cpp +++ b/libgnucash/core-utils/gnc-filepath-utils.cpp @@ -1326,6 +1326,7 @@ backup_regex (".*[.](?:xac|gnucash)[.][0-9]{14}[.](?:xac|gnucash)$"); gboolean gnc_filename_is_backup (const char *filename) { + g_return_val_if_fail (filename, FALSE); return std::regex_match (filename, backup_regex); } @@ -1334,6 +1335,7 @@ datafile_regex (".*[.](?:xac|gnucash)$"); gboolean gnc_filename_is_datafile (const char *filename) { + g_return_val_if_fail (filename, FALSE); return !gnc_filename_is_backup (filename) && std::regex_match (filename, datafile_regex); } diff --git a/libgnucash/core-utils/test/gtest-path-utilities.cpp b/libgnucash/core-utils/test/gtest-path-utilities.cpp index 017252293b..873fecd531 100644 --- a/libgnucash/core-utils/test/gtest-path-utilities.cpp +++ b/libgnucash/core-utils/test/gtest-path-utilities.cpp @@ -141,10 +141,12 @@ TEST_F(PathTest, gnc_path_get_sysconfdir) TEST_F (PathTest, gnc_filename_is_backup) { + EXPECT_EQ (gnc_filename_is_backup (nullptr), false); EXPECT_EQ (gnc_filename_is_backup (""), false); EXPECT_EQ (gnc_filename_is_backup ("a.gnucash"), false); EXPECT_EQ (gnc_filename_is_backup ("a.gnucash.20201131010203.gnucash"), true); + EXPECT_EQ (gnc_filename_is_datafile (nullptr), false); EXPECT_EQ (gnc_filename_is_datafile (""), false); EXPECT_EQ (gnc_filename_is_datafile ("a.gnucash"), true); EXPECT_EQ (gnc_filename_is_datafile ("a.gnucash.20201131010203.gnucash"), false);