From: tedu Date: Mon, 29 Dec 2014 17:07:17 +0000 (+0000) Subject: impose some limits on the ideal rounds so nothing too crazy happens when X-Git-Url: http://artulab.com/gitweb/?a=commitdiff_plain;h=5c20656ff4fdac52c1b1f93d6a09a7000474b2fe;p=openbsd impose some limits on the ideal rounds so nothing too crazy happens when the clock results are weird --- diff --git a/usr.bin/encrypt/encrypt.c b/usr.bin/encrypt/encrypt.c index 0f302b5706b..074fcec94cb 100644 --- a/usr.bin/encrypt/encrypt.c +++ b/usr.bin/encrypt/encrypt.c @@ -1,4 +1,4 @@ -/* $OpenBSD: encrypt.c,v 1.34 2014/12/24 22:04:26 tedu Exp $ */ +/* $OpenBSD: encrypt.c,v 1.35 2014/12/29 17:07:17 tedu Exp $ */ /* * Copyright (c) 1996, Jason Downs. All rights reserved. @@ -80,12 +80,12 @@ ideal_rounds(void) duration = after - before; /* too quick? slow it down. */ - while (duration <= CLOCKS_PER_SEC / 4) { + while (r < 16 && duration <= CLOCKS_PER_SEC / 4) { r += 1; duration *= 2; } /* too slow? speed it up. */ - while (duration > CLOCKS_PER_SEC / 2) { + while (r > 4 && duration > CLOCKS_PER_SEC / 2) { r -= 1; duration /= 2; }