diff options
author | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2021-10-19 15:54:45 +0100 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2021-10-19 15:54:45 +0100 |
commit | 0aad9492f1071e7dc832510a503d7195deed1aa3 (patch) | |
tree | 31ba438e737b34f2a7a7256c94c03e777ee61ed0 | |
parent | 5aa13cc4161d866ec72974b662f6ec76bdb88c27 (diff) | |
download | rspamd-0aad9492f1071e7dc832510a503d7195deed1aa3.tar.gz rspamd-0aad9492f1071e7dc832510a503d7195deed1aa3.zip |
[Minor] Close fd
-rw-r--r-- | src/libstat/backends/cdb_backend.cxx | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/libstat/backends/cdb_backend.cxx b/src/libstat/backends/cdb_backend.cxx index 5b5b42cdf..7715e9b6b 100644 --- a/src/libstat/backends/cdb_backend.cxx +++ b/src/libstat/backends/cdb_backend.cxx @@ -307,11 +307,15 @@ open_cdb(struct rspamd_statfile *st) -> tl::expected<ro_backend, std::string> cdbp = cdb_shared_storage::new_cdb(); if (cdb_init(cdbp.get(), fd) == -1) { + close(fd); + return tl::make_unexpected(fmt::format("cannot init cdb in {}: {}", path, strerror(errno))); } cdbp = cdb_shared_storage.push_cdb(path, cdbp); + + close(fd); } else { cdbp = cached_cdb_maybe.value(); |