From f7d666de2243ea8094d49f05f20111a6ffc71565 Mon Sep 17 00:00:00 2001
From: lutoff <lutoff@localhost>
Date: Tue, 20 Nov 2007 10:28:11 +0000
Subject: [PATCH] Fix for issue #1902 (dsconfig set-backend-prop  doesn't check max value)

---
 opends/src/server/org/opends/server/admin/SizeUnit.java |   13 +++++++++++--
 1 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/opends/src/server/org/opends/server/admin/SizeUnit.java b/opends/src/server/org/opends/server/admin/SizeUnit.java
index 8f58bbf..8060989 100644
--- a/opends/src/server/org/opends/server/admin/SizeUnit.java
+++ b/opends/src/server/org/opends/server/admin/SizeUnit.java
@@ -365,9 +365,18 @@
    * @param amount
    *          The size as a quantity of this unit.
    * @return Returns the number of bytes that the size represents.
+   *
+   * @throws NumberFormatException
+   *           If the provided size exceeded long.MAX_VALUE.
    */
-  public long toBytes(double amount) {
-    return (long) (sz * amount);
+  public long toBytes(double amount) throws NumberFormatException {
+    double value =  sz * amount;
+    if (value > Long.MAX_VALUE)
+    {
+      throw new NumberFormatException
+        ("number too big (exceeded long.MAX_VALUE");
+    }
+    return (long) (value);
   }
 
 

--
Gitblit v1.10.0