From: Quanah Gibson-Mount Date: Sun, 1 Apr 2007 23:30:02 +0000 (+0000) Subject: Further fix for ITS#4872 X-Git-Tag: OPENLDAP_REL_ENG_2_3_35~27 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=754123a936a5cbbe457d1fc9af61947cfc18afaa;p=openldap Further fix for ITS#4872 --- 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;