From: Frédéric Perrin Date: Sun, 1 Dec 2019 21:15:53 +0000 (+0000) Subject: Fix NPE in SetEarthdataAuthentication with no credentials set X-Git-Tag: v19.2.fp3^2 X-Git-Url: http://gitweb.fperrin.net/?p=GpsPrune.git;a=commitdiff_plain;h=7850dc9de79806a7b58c01cdfb33a7b32cc6bfa5 Fix NPE in SetEarthdataAuthentication with no credentials set --- diff --git a/src/tim/prune/function/settings/SetEarthdataAuthentication.java b/src/tim/prune/function/settings/SetEarthdataAuthentication.java index d4a166a..146ed77 100644 --- a/src/tim/prune/function/settings/SetEarthdataAuthentication.java +++ b/src/tim/prune/function/settings/SetEarthdataAuthentication.java @@ -143,25 +143,25 @@ public class SetEarthdataAuthentication extends GenericFunction private void prefillCurrentAuth() { + _usernameField.setText(""); + _passwordField.setText(""); + _authAccepted.setText(" "); + String authString = Config.getConfigString(Config.KEY_EARTHDATA_AUTH); - if (authString == null) - { - _usernameField.setText(""); - _passwordField.setText(""); - } - String decoded = new String(Base64.getDecoder().decode(authString)); - if (decoded.contains(":")) + try { - _usernameField.setText(decoded.split(":", 2)[0]); - _passwordField.setText(decoded.split(":", 2)[1]); + String decoded = new String(Base64.getDecoder().decode(authString)); + if (decoded.contains(":")) + { + _usernameField.setText(decoded.split(":", 2)[0]); + _passwordField.setText(decoded.split(":", 2)[1]); + } } - else + catch (Exception e) { - _usernameField.setText(""); - _passwordField.setText(""); + // empty settings, or invalid base64 data --leave blank + return; } - - _authAccepted.setText(" "); } private void testUsernameAndPassword()