From 0836354d1e28f7b2d322cf5cb8ffe04cd08daafb Mon Sep 17 00:00:00 2001 From: Howard Chu Date: Wed, 26 Apr 2006 09:12:40 +0000 Subject: [PATCH] Fix ITS#4505 --- servers/slapd/overlays/accesslog.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/servers/slapd/overlays/accesslog.c b/servers/slapd/overlays/accesslog.c index ebae343bed..b9b3f4df44 100644 --- a/servers/slapd/overlays/accesslog.c +++ b/servers/slapd/overlays/accesslog.c @@ -396,12 +396,16 @@ log_age_parse(char *agestr) return -1; t1 *= 24; gotdays = 1; - } else if ( *endptr != ':' ) { - /* No valid delimiter found, fail */ - return -1; + agestr = endptr + 1; + } else { + if ( agestr[2] != ':' ) { + /* No valid delimiter found, fail */ + return -1; + } + t1 *= 60; + agestr += 3; } - agestr = endptr + 1; t2 = atoi( agestr ); /* if there's a delimiter, it can only be a colon */ @@ -414,7 +418,6 @@ log_age_parse(char *agestr) if ( gotdays && !agestr[2] ) return -1; - t1 *= 60; t1 += t2; if ( !agestr[2] ) @@ -449,7 +452,7 @@ log_age_unparse( int age, struct berval *agebv ) age /= 60; mm = age % 60; age /= 60; - hh = age % 60; + hh = age % 24; age /= 24; dd = age; -- 2.39.5