@@ -498,7 +498,7 @@ static bool create_expression_index(thread_db* tdbb, SSHORT phase, DeferredWork*
498498static void check_computed_dependencies(thread_db* tdbb, jrd_tra* transaction,
499499 const MetaName& fieldName);
500500static void check_dependencies(thread_db*, const TEXT*, const TEXT*, const TEXT*, int, jrd_tra*);
501- static void check_filename(const Firebird::string&, bool);
501+ static void check_filename(thread_db*, const Firebird::string&, bool);
502502static void cleanup_index_creation(thread_db*, DeferredWork*, jrd_tra*);
503503static bool formatsAreEqual(const Format*, const Format*);
504504static bool find_depend_in_dfw(thread_db*, TEXT*, USHORT, USHORT, jrd_tra*);
@@ -1883,9 +1883,8 @@ static bool add_file(thread_db* tdbb, SSHORT phase, DeferredWork* work, jrd_tra*
18831883 // Check the file name for node name. This has already
18841884 // been done for shadows in add_shadow()
18851885
1886- if (work->dfw_type != dfw_add_shadow) {
1887- check_filename(work->dfw_name, true);
1888- }
1886+ if (work->dfw_type != dfw_add_shadow)
1887+ check_filename(tdbb, work->dfw_name, true);
18891888
18901889 // User transaction may be safely used instead of system, cause
18911890 // we requested and got exclusive database access. AP-2008.
@@ -2003,7 +2002,7 @@ static bool add_shadow(thread_db* tdbb, SSHORT phase, DeferredWork* work, jrd_tr
20032002 return true;
20042003
20052004 case 4:
2006- check_filename(work->dfw_name, false);
2005+ check_filename(tdbb, work->dfw_name, false);
20072006
20082007 /* could have two cases:
20092008 1) this shadow has already been written to, so add this file using
@@ -2155,7 +2154,7 @@ static bool add_difference(thread_db* tdbb, SSHORT phase, DeferredWork* work, jr
21552154 ERR_post(Arg::Gds(isc_no_meta_update) <<
21562155 Arg::Gds(isc_wrong_backup_state));
21572156 }
2158- check_filename(work->dfw_name, true);
2157+ check_filename(tdbb, work->dfw_name, true);
21592158 dbb->dbb_backup_manager->setDifference(tdbb, work->dfw_name.c_str());
21602159 }
21612160 break;
@@ -3055,7 +3054,7 @@ static void check_dependencies(thread_db* tdbb,
30553054}
30563055
30573056
3058- static void check_filename(const Firebird::string& name, bool shareExpand)
3057+ static void check_filename(thread_db* tdbb, const Firebird::string& name, bool shareExpand)
30593058{
30603059/**************************************
30613060 *
@@ -3068,6 +3067,9 @@ static void check_filename(const Firebird::string& name, bool shareExpand)
30683067 * inet node name.
30693068 *
30703069 **************************************/
3070+ if (tdbb->tdbb_flags & TDBB_replicator)
3071+ return;
3072+
30713073 const Firebird::PathName file_name(name.ToPathName());
30723074 const bool valid = file_name.find("::") == Firebird::PathName::npos;
30733075
0 commit comments