From 53ad356d9632fdfb544b708a02ad0e3aa01bfbab Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Wed, 8 Dec 2010 17:03:49 -0800 Subject: [PATCH] Fix string out of bounds in GitProjectImporter If $gerrit.basePath contains ".git" in the top level directory (that is, its a Git repository with a working directory), don't try to import a project with an empty name. Skip the path. Change-Id: I1eaf1e0a6189771ccb827094d0419c26ec7f03a2 Signed-off-by: Shawn O. Pearce --- .../com/google/gerrit/server/git/GitProjectImporter.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/git/GitProjectImporter.java b/gerrit-server/src/main/java/com/google/gerrit/server/git/GitProjectImporter.java index 33661ab46b..4a33999dab 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/git/GitProjectImporter.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/git/GitProjectImporter.java @@ -79,6 +79,13 @@ public class GitProjectImporter { if (FileKey.isGitRepository(f, FS.DETECTED)) { if (name.equals(".git")) { + if ("".equals(prefix)) { + // If the git base path is itself a git repository working + // directory, this is a bit nonsensical for Gerrit Code Review. + // Skip the path and do the next one. + messages.warning("Skipping " + f.getAbsolutePath()); + continue; + } name = prefix.substring(0, prefix.length() - 1); } else if (name.endsWith(".git")) {