From: Marco Bettini Date: Mon, 2 May 2022 07:13:59 +0000 (+0000) Subject: fts-flatcurve: fts_flatcurve_database_locate_dir() - Fix leak on readdir() faults X-Git-Tag: 2.4.0~4091 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=cd94b69c411f4d92b4baa6bafcefe3d4d717064f;p=thirdparty%2Fdovecot%2Fcore.git fts-flatcurve: fts_flatcurve_database_locate_dir() - Fix leak on readdir() faults --- diff --git a/src/plugins/fts-flatcurve/fts-backend-flatcurve-xapian.cc b/src/plugins/fts-flatcurve/fts-backend-flatcurve-xapian.cc index e114d4643f..6ccb6265a7 100644 --- a/src/plugins/fts-flatcurve/fts-backend-flatcurve-xapian.cc +++ b/src/plugins/fts-flatcurve/fts-backend-flatcurve-xapian.cc @@ -1021,6 +1021,8 @@ int fts_flatcurve_database_locate_dir(const char *arg_path, struct dirent *entry = readdir(dir); if (errno < 0) { *error_r = t_strdup_printf("readdir(%s) failed: %m", path); + if (closedir(dir) < 0) + i_error("closedir(%s) failed: %m", path); return -1; }