]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
lib/server/exfile: fix fd leak in exfile_open_lock when stat() of cached filename...
authorAlexander Bainbridge-Sedivy <alex.bainbridge@inkbridge.io>
Fri, 26 Jun 2026 19:59:41 +0000 (15:59 -0400)
committerAlan T. DeKok <aland@freeradius.org>
Tue, 7 Jul 2026 14:08:58 +0000 (10:08 -0400)
src/lib/server/exfile.c

index 5c0aa33d85e2f1e8029f9382aaa83a808385948f..16c103d0b77179217d9b5e999266d0484a3366bd 100644 (file)
@@ -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;