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);
}
}