diff --git a/src/main/java/me/legrange/mikrotik/impl/ApiConnectionImpl.java b/src/main/java/me/legrange/mikrotik/impl/ApiConnectionImpl.java index 4fde0ea..d7ef24f 100644 --- a/src/main/java/me/legrange/mikrotik/impl/ApiConnectionImpl.java +++ b/src/main/java/me/legrange/mikrotik/impl/ApiConnectionImpl.java @@ -56,12 +56,14 @@ public final class ApiConnectionImpl extends ApiConnection { throw new ApiConnectionException("API username cannot be empty"); } List> list = execute("/login name=" + username + " password=" + password); - Map res = list.get(0); - if (res.containsKey("ret")) { - String hash = res.get("ret"); - String chal = Util.hexStrToStr("00") + new String(password.toCharArray()) + Util.hexStrToStr(hash); - chal = Util.hashMD5(chal); - execute("/login name=" + username + " response=00" + chal); + if (!list.isEmpty()) { + Map res = list.get(0); + if (res.containsKey("ret")) { + String hash = res.get("ret"); + String chal = Util.hexStrToStr("00") + new String(password.toCharArray()) + Util.hexStrToStr(hash); + chal = Util.hashMD5(chal); + execute("/login name=" + username + " response=00" + chal); + } } }