Portable build framework for OpenNTPD
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

37 lines
951 B

From b313da219fdd6392095e617cf5f07158c4da21e3 Mon Sep 17 00:00:00 2001
From: Brent Cook <bcook@openbsd.org>
Date: Mon, 21 Dec 2015 05:53:20 -0600
Subject: [PATCH 12/13] check result of ftello/ftruncate
---
src/usr.sbin/ntpd/ntpd.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/src/usr.sbin/ntpd/ntpd.c b/src/usr.sbin/ntpd/ntpd.c
index 99bdecf..35a9797 100644
--- a/src/usr.sbin/ntpd/ntpd.c
+++ b/src/usr.sbin/ntpd/ntpd.c
@@ -592,6 +592,7 @@ writefreq(double d)
{
int r;
static int warnonce = 1;
+ int off;
if (freqfp == NULL)
return 0;
@@ -605,8 +606,10 @@ writefreq(double d)
clearerr(freqfp);
return 0;
}
- ftruncate(fileno(freqfp), ftello(freqfp));
- fsync(fileno(freqfp));
+ off = ftello(freqfp);
+ if (off == -1 || ftruncate(fileno(freqfp), off) == -1)
+ log_warnx("can't truncate %s", DRIFTFILE);
+ fsync(fileno(freqfp));
return 1;
}
--
2.10.1