From 63d93971e4b4f14eecc10c2ed8ef9fc1fdca752e Mon Sep 17 00:00:00 2001 From: bcook <> Date: Sun, 4 Jan 2015 01:19:46 +0000 Subject: [PATCH] don't rely on sys/param.h having a MAX macro. Switch to local definitions where MAX is needed. discussed with deraadt@ --- src/usr.sbin/ntpd/client.c | 8 +++++--- src/usr.sbin/ntpd/ntp.c | 6 ++++-- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/usr.sbin/ntpd/client.c b/src/usr.sbin/ntpd/client.c index 65eae36d..cca9cbcc 100644 --- a/src/usr.sbin/ntpd/client.c +++ b/src/usr.sbin/ntpd/client.c @@ -1,4 +1,4 @@ -/* $OpenBSD: client.c,v 1.93 2014/05/12 20:50:46 miod Exp $ */ +/* $OpenBSD: client.c,v 1.94 2015/01/04 01:19:46 bcook Exp $ */ /* * Copyright (c) 2003, 2004 Henning Brauer @@ -121,13 +121,15 @@ client_nextaddr(struct ntp_peer *p) return (0); } +#define SCALE_MAX(a, b) ((a) > (b) ? (a) : (b)) + int client_query(struct ntp_peer *p) { int val; if (p->addr == NULL && client_nextaddr(p) == -1) { - set_next(p, MAX(SETTIME_TIMEOUT, + set_next(p, SCALE_MAX(SETTIME_TIMEOUT, scale_interval(INTERVAL_QUERY_AGGRESSIVE))); return (0); } @@ -150,7 +152,7 @@ client_query(struct ntp_peer *p) if (errno == ECONNREFUSED || errno == ENETUNREACH || errno == EHOSTUNREACH || errno == EADDRNOTAVAIL) { client_nextaddr(p); - set_next(p, MAX(SETTIME_TIMEOUT, + set_next(p, SCALE_MAX(SETTIME_TIMEOUT, scale_interval(INTERVAL_QUERY_AGGRESSIVE))); return (-1); } else diff --git a/src/usr.sbin/ntpd/ntp.c b/src/usr.sbin/ntpd/ntp.c index 8b9ff63e..25eabe83 100644 --- a/src/usr.sbin/ntpd/ntp.c +++ b/src/usr.sbin/ntpd/ntp.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ntp.c,v 1.122 2015/01/04 01:16:10 bcook Exp $ */ +/* $OpenBSD: ntp.c,v 1.123 2015/01/04 01:19:46 bcook Exp $ */ /* * Copyright (c) 2003, 2004 Henning Brauer @@ -734,13 +734,15 @@ update_scale(double offset) conf->scale = QSCALE_OFF_MAX / offset; } +#define SCALE_MAX(a, b) ((a) > (b) ? (a) : (b)) + time_t scale_interval(time_t requested) { time_t interval, r; interval = requested * conf->scale; - r = arc4random_uniform(MAX(5, interval / 10)); + r = arc4random_uniform(SCALE_MAX(5, interval / 10)); return (interval + r); }