From edc007fed5c08d635b1ec53da6974afc77ad960b Mon Sep 17 00:00:00 2001 From: kkolinko Date: Mon, 22 Nov 2010 20:59:20 +0000 Subject: [PATCH] Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=50316 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 | 4 ++++ java/org/apache/catalina/manager/StatusTransformer.java | 12 +++++++++++- webapps/docs/changelog.xml | 4 ++++ 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/java/org/apache/catalina/manager/JspHelper.java b/java/org/apache/catalina/manager/JspHelper.java index b001339fa..5da2ea3f5 100644 --- a/java/org/apache/catalina/manager/JspHelper.java +++ b/java/org/apache/catalina/manager/JspHelper.java @@ -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; diff --git a/java/org/apache/catalina/manager/StatusTransformer.java b/java/org/apache/catalina/manager/StatusTransformer.java index a934b77e0..51e62f52a 100644 --- a/java/org/apache/catalina/manager/StatusTransformer.java +++ b/java/org/apache/catalina/manager/StatusTransformer.java @@ -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"); } diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index d54805abd..d9f802f15 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -298,6 +298,10 @@ CVE-2010-4172: Multiple XSS in Manager application. (markt/kkolinko) + + 50316: Fix display of negative values in Manager application. + (kkolinko) + -- 2.11.0