From: Alexander Bainbridge-Sedivy Date: Fri, 26 Jun 2026 19:59:41 +0000 (-0400) Subject: lib/server/exfile: fix fd leak in exfile_open_lock when stat() of cached filename... X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=dc601daa75a2e3409471bb23d524bd7613abeca3;p=thirdparty%2Ffreeradius-server.git lib/server/exfile: fix fd leak in exfile_open_lock when stat() of cached filename fails --- diff --git a/src/lib/server/exfile.c b/src/lib/server/exfile.c index 5c0aa33d85e..16c103d0b77 100644 --- a/src/lib/server/exfile.c +++ b/src/lib/server/exfile.c @@ -374,7 +374,7 @@ static int exfile_open_lock(exfile_t *ef, char const *filename, mode_t permissio * and re-open the file. */ if (stat(ef->entries[i].filename, &st) < 0) { - goto reopen; + goto close_reopen; } if ((st.st_dev != ef->entries[i].st_dev) || @@ -406,7 +406,6 @@ static int exfile_open_lock(exfile_t *ef, char const *filename, mode_t permissio reopen_reset: ef->entries[i].fd = -1; -reopen: ef->entries[i].fd = exfile_open_mkdir(filename, permissions, flags); if (ef->entries[i].fd < 0) goto error;