[JGIT PATCH 1/1] Fix for Repository.stripWorkDir when using partial paths
- From
- Adam W. Hawks <awhawks@writeme.com>
- Date
- Aug 12, 2009, 00:48 UTC
- Message-ID
- <4A821167.6030107@writeme.com>
>From ef993e633cdcb1dddda5e71db1b62306df7ce83f Mon Sep 17 00:00:00 2001
Date: Tue, 11 Aug 2009 20:02:56 -0400
When you call stripWorkDir with a relative path you can get a string out of bounds error.
This change fixes that problem by using the absolute paths of the file instead of its relative name.
Signed-off-by: Adam W. Hawks <awhawks@writeme.com> --- .../src/org/spearce/jgit/lib/Repository.java | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/org.spearce.jgit/src/org/spearce/jgit/lib/Repository.java b/org.spearce.jgit/src/org/spearce/jgit/lib/Repository.java index 468cf4c..a68817b 100644 --- a/org.spearce.jgit/src/org/spearce/jgit/lib/Repository.java +++ b/org.spearce.jgit/src/org/spearce/jgit/lib/Repository.java @@ -1036,7 +1036,7 @@ public static boolean isValidRefName(final String refName) { * @return normalized repository relative path */ public static String stripWorkDir(File wd, File f) { - String relName = f.getPath().substring(wd.getPath().length() + 1); + String relName = f.getAbsolutePath().substring(wd.getPath().length() + 1); relName = relName.replace(File.separatorChar, '/'); return relName; }
-- 1.6.0.2