From 754123a936a5cbbe457d1fc9af61947cfc18afaa Mon Sep 17 00:00:00 2001 From: Quanah Gibson-Mount Date: Sun, 1 Apr 2007 23:30:02 +0000 Subject: [PATCH] Further fix for ITS#4872 --- servers/slapd/daemon.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/servers/slapd/daemon.c b/servers/slapd/daemon.c index 15c8fe7209..a5c6d6cb69 100644 --- a/servers/slapd/daemon.c +++ b/servers/slapd/daemon.c @@ -2124,8 +2124,14 @@ slapd_daemon_task( ldap_pvt_thread_mutex_unlock( &slapd_rq.rq_mutex ); if ( rtask && cat.tv_sec ) { - time_t diff = difftime( cat.tv_sec, now ); - if ( diff == 0 ) diff = tdelta; + /* NOTE: diff __should__ always be >= 0, + * AFAI understand; however (ITS#4872), + * time_t might be unsigned in some systems, + * while difftime() returns a double */ + double diff = difftime( cat.tv_sec, now ); + if ( diff <= 0 ) { + diff = tdelta; + } if ( tvp == NULL || diff < tv.tv_sec ) { tv.tv_sec = diff; tv.tv_usec = 0; -- 2.39.5