From eb93eef87456ac7e15d529b66d5caeff4df3ee99 Mon Sep 17 00:00:00 2001 From: Bas van Schaik Date: Fri, 28 Apr 2017 14:50:30 +0100 Subject: [PATCH 1/3] Fix lgtm.com alert: variable 'config' is always null (likely false logic) Details: https://lgtm.com/projects/g/keycloak/keycloak/snapshot/dist-7900299-1490802114895/files/model/jpa/src/main/java/org/keycloak/models/jpa/JpaUserCredentialStore.java#V122 --- .../java/org/keycloak/models/jpa/JpaUserCredentialStore.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/model/jpa/src/main/java/org/keycloak/models/jpa/JpaUserCredentialStore.java b/model/jpa/src/main/java/org/keycloak/models/jpa/JpaUserCredentialStore.java index d3539fe8d7..a1a0cdb6a0 100644 --- a/model/jpa/src/main/java/org/keycloak/models/jpa/JpaUserCredentialStore.java +++ b/model/jpa/src/main/java/org/keycloak/models/jpa/JpaUserCredentialStore.java @@ -119,7 +119,7 @@ public class JpaUserCredentialStore implements UserCredentialStore { entity.setUser(userRef); em.persist(entity); MultivaluedHashMap config = cred.getConfig(); - if (config != null || !config.isEmpty()) { + if (config != null && !config.isEmpty()) { for (String key : config.keySet()) { List values = config.getList(key); From 2df117531511412cd1ac814760b6260ef18330c2 Mon Sep 17 00:00:00 2001 From: Bas van Schaik Date: Fri, 28 Apr 2017 14:51:51 +0100 Subject: [PATCH 2/3] Fix lgtm.com alert: potential NPE due to non-short circuit logic The logical-AND operator '&&' evaluates its operands in order, which is what is required here. The bitwise-AND operator '&' always evaluates all operands, which will in some cases result in a NPE in the second operand. Details: https://lgtm.com/projects/g/keycloak/keycloak/snapshot/dist-7900299-1490802114895/files/services/src/main/java/org/keycloak/services/resources/admin/RealmAdminResource.java#V543 --- .../keycloak/services/resources/admin/RealmAdminResource.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/src/main/java/org/keycloak/services/resources/admin/RealmAdminResource.java b/services/src/main/java/org/keycloak/services/resources/admin/RealmAdminResource.java index 146ef865f4..6797344c8d 100644 --- a/services/src/main/java/org/keycloak/services/resources/admin/RealmAdminResource.java +++ b/services/src/main/java/org/keycloak/services/resources/admin/RealmAdminResource.java @@ -541,7 +541,7 @@ public class RealmAdminResource { query.client(client); } - if (types != null & !types.isEmpty()) { + if (types != null && !types.isEmpty()) { EventType[] t = new EventType[types.size()]; for (int i = 0; i < t.length; i++) { t[i] = EventType.valueOf(types.get(i)); From ff6dbd6bdefae01927ed3461277435f6b098370c Mon Sep 17 00:00:00 2001 From: Bas van Schaik Date: Fri, 28 Apr 2017 14:54:47 +0100 Subject: [PATCH 3/3] Fix lgtm.com alert: cast int to long before multiplication The integer multiplication has the potential to overflow before the result is being cast to the 'long' result. Details: https://lgtm.com/projects/g/keycloak/keycloak/snapshot/dist-7900299-1490802114895/files/saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v2/util/XMLTimeUtil.java#V133 --- .../saml/processing/core/saml/v2/util/XMLTimeUtil.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v2/util/XMLTimeUtil.java b/saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v2/util/XMLTimeUtil.java index 31916ff627..8510d47658 100755 --- a/saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v2/util/XMLTimeUtil.java +++ b/saml-core/src/main/java/org/keycloak/saml/processing/core/saml/v2/util/XMLTimeUtil.java @@ -130,7 +130,7 @@ public class XMLTimeUtil { * @return */ public static long inMilis(int valueInMins) { - return valueInMins * 60 * 1000; + return (long) valueInMins * 60 * 1000; } /** @@ -241,4 +241,4 @@ public class XMLTimeUtil { } } } -} \ No newline at end of file +}