diff options
Diffstat (limited to 'ntpd/ntp_loopfilter.c')
-rw-r--r-- | ntpd/ntp_loopfilter.c | 32 |
1 files changed, 18 insertions, 14 deletions
diff --git a/ntpd/ntp_loopfilter.c b/ntpd/ntp_loopfilter.c index 924d5738b1e4..01772bd1ffe9 100644 --- a/ntpd/ntp_loopfilter.c +++ b/ntpd/ntp_loopfilter.c @@ -246,7 +246,11 @@ ntp_adjtime_error_handler( ) { char des[1024] = ""; /* Decoded Error Status */ + char *dbp, *ebp; + dbp = des; + ebp = dbp + sizeof(des); + switch (ret) { case -1: switch (saved_errno) { @@ -363,37 +367,37 @@ or, from ntp_adjtime(): /* error (see status word) */ if (ptimex->status & STA_UNSYNC) - snprintf(des, sizeof(des), "%s%sClock Unsynchronized", - des, (*des) ? "; " : ""); + xsbprintf(&dbp, ebp, "%sClock Unsynchronized", + (*des) ? "; " : ""); if (ptimex->status & STA_CLOCKERR) - snprintf(des, sizeof(des), "%s%sClock Error", - des, (*des) ? "; " : ""); + xsbprintf(&dbp, ebp, "%sClock Error", + (*des) ? "; " : ""); if (!(ptimex->status & STA_PPSSIGNAL) && ptimex->status & STA_PPSFREQ) - snprintf(des, sizeof(des), "%s%sPPS Frequency Sync wanted but no PPS", - des, (*des) ? "; " : ""); + xsbprintf(&dbp, ebp, "%sPPS Frequency Sync wanted but no PPS", + (*des) ? "; " : ""); if (!(ptimex->status & STA_PPSSIGNAL) && ptimex->status & STA_PPSTIME) - snprintf(des, sizeof(des), "%s%sPPS Time Sync wanted but no PPS signal", - des, (*des) ? "; " : ""); + xsbprintf(&dbp, ebp, "%sPPS Time Sync wanted but no PPS signal", + (*des) ? "; " : ""); if ( ptimex->status & STA_PPSTIME && ptimex->status & STA_PPSJITTER) - snprintf(des, sizeof(des), "%s%sPPS Time Sync wanted but PPS Jitter exceeded", - des, (*des) ? "; " : ""); + xsbprintf(&dbp, ebp, "%sPPS Time Sync wanted but PPS Jitter exceeded", + (*des) ? "; " : ""); if ( ptimex->status & STA_PPSFREQ && ptimex->status & STA_PPSWANDER) - snprintf(des, sizeof(des), "%s%sPPS Frequency Sync wanted but PPS Wander exceeded", - des, (*des) ? "; " : ""); + xsbprintf(&dbp, ebp, "%sPPS Frequency Sync wanted but PPS Wander exceeded", + (*des) ? "; " : ""); if ( ptimex->status & STA_PPSFREQ && ptimex->status & STA_PPSERROR) - snprintf(des, sizeof(des), "%s%sPPS Frequency Sync wanted but Calibration error detected", - des, (*des) ? "; " : ""); + xsbprintf(&dbp, ebp, "%sPPS Frequency Sync wanted but Calibration error detected", + (*des) ? "; " : ""); if (pps_call && !(ptimex->status & STA_PPSSIGNAL)) report_event(EVNT_KERN, NULL, |