From: James Moger Date: Wed, 10 Oct 2012 20:11:17 +0000 (-0400) Subject: Fix possible string index out of bounds exception X-Git-Tag: v1.2.0~171 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=ffbd6e70d1cdc2638f31860e810c17ad3d006fd6;p=gitblit.git Fix possible string index out of bounds exception --- diff --git a/src/com/gitblit/utils/StringUtils.java b/src/com/gitblit/utils/StringUtils.java index 07113388..d115f896 100644 --- a/src/com/gitblit/utils/StringUtils.java +++ b/src/com/gitblit/utils/StringUtils.java @@ -315,11 +315,16 @@ public class StringUtils { * @return the relative path */ public static String getRelativePath(String basePath, String fullPath) { - String relativePath = fullPath.substring(basePath.length()).replace('\\', '/'); - if (relativePath.charAt(0) == '/') { - relativePath = relativePath.substring(1); + String bp = basePath.replace('\\', '/').toLowerCase(); + String fp = fullPath.replace('\\', '/').toLowerCase(); + if (fp.startsWith(bp)) { + String relativePath = fullPath.substring(basePath.length()).replace('\\', '/'); + if (relativePath.charAt(0) == '/') { + relativePath = relativePath.substring(1); + } + return relativePath; } - return relativePath; + return fullPath; } /**