Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=50316
authorkkolinko <kkolinko@13f79535-47bb-0310-9956-ffa450edef68>
Mon, 22 Nov 2010 20:59:20 +0000 (20:59 +0000)
committerkkolinko <kkolinko@13f79535-47bb-0310-9956-ffa450edef68>
Mon, 22 Nov 2010 20:59:20 +0000 (20:59 +0000)
Fix display of negative values

git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1037887 13f79535-47bb-0310-9956-ffa450edef68

java/org/apache/catalina/manager/JspHelper.java
java/org/apache/catalina/manager/StatusTransformer.java
webapps/docs/changelog.xml

index b001339..5da2ea3 100644 (file)
@@ -135,6 +135,10 @@ public class JspHelper {
 
     public static String secondsToTimeString(long in_seconds) {
         StringBuilder buff = new StringBuilder(9);
+        if (in_seconds < 0) {
+            buff.append('-');
+            in_seconds = -in_seconds;
+        }
         long rest = in_seconds;
         long hour = rest / 3600;
         rest = rest % 3600;
index a934b77..51e62f5 100644 (file)
@@ -871,10 +871,20 @@ public class StatusTransformer {
         }
 
         if (mb) {
+            StringBuilder buff = new StringBuilder();
+            if (bytes < 0) {
+                buff.append('-');
+                bytes = -bytes;
+            }
             long mbytes = bytes / (1024 * 1024);
             long rest = 
                 ((bytes - (mbytes * (1024 * 1024))) * 100) / (1024 * 1024);
-            return (mbytes + "." + ((rest < 10) ? "0" : "") + rest + " MB");
+            buff.append(mbytes).append('.');
+            if (rest < 10) {
+                buff.append('0');
+            }
+            buff.append(rest).append(" MB");
+            return buff.toString();
         } else {
             return ((bytes / 1024) + " KB");
         }
index d54805a..d9f802f 100644 (file)
       <fix>
         CVE-2010-4172: Multiple XSS in Manager application. (markt/kkolinko)
       </fix>
+      <fix>
+        <bug>50316</bug>: Fix display of negative values in Manager application.
+        (kkolinko)
+      </fix>
     </changelog>
   </subsection>
   <subsection name="Other">