]> source.dussan.org Git - rspamd.git/commitdiff
[Minor] Normalise file names
authorVsevolod Stakhov <vsevolod@rspamd.com>
Sun, 23 Oct 2022 21:08:31 +0000 (22:08 +0100)
committerVsevolod Stakhov <vsevolod@rspamd.com>
Sun, 23 Oct 2022 21:08:31 +0000 (22:08 +0100)
src/libutil/cxx/file_util.cxx
src/libutil/cxx/file_util.hxx

index d0860b77bc203bba8cdf25f6b72a8cfceb277dd9..1993ff666d0e2e2490724270e42478719d3b2366 100644 (file)
@@ -145,6 +145,16 @@ auto raii_file::update_stat() noexcept -> bool
        return fstat(fd, &st) != -1;
 }
 
+raii_file::raii_file(const char *fname, int fd, bool temp) : fd(fd), temp(temp)
+{
+       std::size_t nsz;
+
+       /* Normalize path */
+       this->fname = fname;
+       rspamd_normalize_path_inplace(this->fname.data(), this->fname.size(), &nsz);
+       this->fname.resize(nsz);
+}
+
 
 raii_locked_file::~raii_locked_file() noexcept
 {
index 097ce03a75db7a7ba1698a28a6aa555cfe47f08a..9fbcda540197c20c7342059196312269e1dc0cda 100644 (file)
@@ -126,7 +126,7 @@ protected:
        std::string fname;
        struct stat st;
 
-       explicit raii_file(const char *fname, int fd, bool temp) : fd(fd), temp(temp), fname(fname) {}
+       explicit raii_file(const char *fname, int fd, bool temp);
 };
 /**
  * A simple RAII object to contain a file descriptor with an flock wrap