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);