Author: toad
Date: 2008-02-29 22:39:55 +0000 (Fri, 29 Feb 2008)
New Revision: 18269
Modified:
trunk/freenet/src/freenet/support/DoubleTokenBucket.java
trunk/freenet/src/freenet/support/TokenBucket.java
Log:
Don't allow forceGrab(negative). Log an error and refuse to execute it if it
happens.
Modified: trunk/freenet/src/freenet/support/DoubleTokenBucket.java
===================================================================
--- trunk/freenet/src/freenet/support/DoubleTokenBucket.java 2008-02-29
22:27:51 UTC (rev 18268)
+++ trunk/freenet/src/freenet/support/DoubleTokenBucket.java 2008-02-29
22:39:55 UTC (rev 18269)
@@ -42,6 +42,10 @@
public synchronized void forceGrab(long tokens) {
addTokens();
+ if(tokens <= 0) {
+ Logger.error(this, "forceGrab("+tokens+") - negative
value!!", new Exception("error"));
+ return;
+ }
long thisMax = maxForced - curForced;
if(tokens > thisMax) {
if(logMINOR) Logger.minor(this, "Limiting force-grab to
"+thisMax+" tokens was "+tokens);
Modified: trunk/freenet/src/freenet/support/TokenBucket.java
===================================================================
--- trunk/freenet/src/freenet/support/TokenBucket.java 2008-02-29 22:27:51 UTC
(rev 18268)
+++ trunk/freenet/src/freenet/support/TokenBucket.java 2008-02-29 22:39:55 UTC
(rev 18269)
@@ -54,6 +54,10 @@
* @param tokens The number of tokens to remove.
*/
public synchronized void forceGrab(long tokens) {
+ if(tokens <= 0) {
+ Logger.error(this, "forceGrab("+tokens+") - negative
value!!", new Exception("error"));
+ return;
+ }
addTokens();
current -= tokens;
if(current > max) current = max;