From: ethan-thompson Date: Mon, 16 Mar 2026 16:21:51 +0000 (-0400) Subject: restore write errno after ftruncate in partial header write path X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=985b331fd501ef0f7e05965bfbb5cb2d49d47f50;p=thirdparty%2Ffreeradius-server.git restore write errno after ftruncate in partial header write path Signed-off-by: ethan-thompson --- diff --git a/src/modules/rlm_linelog/file.c b/src/modules/rlm_linelog/file.c index e63c76db425..625db65c04c 100644 --- a/src/modules/rlm_linelog/file.c +++ b/src/modules/rlm_linelog/file.c @@ -190,11 +190,11 @@ static void _batch_write(rlm_linelog_file_t *file) write_error = errno; if (ret >= 0) { if (ret < (ssize_t)(header_len)) { - ret = ftruncate(fd, 0); - if (ret < 0) { + if (ftruncate(fd, 0) < 0) { ERROR("Failed truncating file \"%s\" after partial header write - %s", file->filename, fr_syserror(errno)); } + errno = write_error; PERROR("Failed writing header to \"%s\"", file->filename); goto error;