Fix NPE when username or password isn't specified for remote When the username or password is not specified, pass an empty string instead of null. Change-Id: I49121b9873eb9f2800417b6d264cc2ad82047f85
diff --git a/src/main/java/com/googlesource/gerrit/plugins/replication/SecureCredentialsFactory.java b/src/main/java/com/googlesource/gerrit/plugins/replication/SecureCredentialsFactory.java index 2b0c16b..c518091 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/replication/SecureCredentialsFactory.java +++ b/src/main/java/com/googlesource/gerrit/plugins/replication/SecureCredentialsFactory.java
@@ -17,6 +17,7 @@ import com.google.gerrit.server.config.SitePaths; import com.google.inject.Inject; import java.io.IOException; +import java.util.Objects; import org.eclipse.jgit.errors.ConfigInvalidException; import org.eclipse.jgit.lib.Config; import org.eclipse.jgit.storage.file.FileBasedConfig; @@ -49,8 +50,8 @@ @Override public SecureCredentialsProvider create(String remoteName) { - String user = config.getString("remote", remoteName, "username"); - String pass = config.getString("remote", remoteName, "password"); + String user = Objects.toString(config.getString("remote", remoteName, "username"), ""); + String pass = Objects.toString(config.getString("remote", remoteName, "password"), ""); return new SecureCredentialsProvider(user, pass); } }