From 2faec40ceb6c9dcd6dc6080e90630bc5b6d6bcdd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Felix=20Sch=C3=A4fer?= <felix@thegcat.net>
Date: Tue, 1 Oct 2019 17:00:24 +0200
Subject: [PATCH] Make sure we don't have nulls lying around

---
 .../keycloak/form_extensions/SignupFormAction.java         | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/main/java/org/fachschaften/keycloak/form_extensions/SignupFormAction.java b/src/main/java/org/fachschaften/keycloak/form_extensions/SignupFormAction.java
index c5ce9f9..621a78c 100644
--- a/src/main/java/org/fachschaften/keycloak/form_extensions/SignupFormAction.java
+++ b/src/main/java/org/fachschaften/keycloak/form_extensions/SignupFormAction.java
@@ -180,7 +180,12 @@ public class SignupFormAction implements FormAction, FormActionFactory {
 
         Stream<String> unimailDomainsStream = Arrays.stream(unimailDomains);
 
-        if (!unimailDomainsStream.anyMatch( f -> email.endsWith(f) )) {
+        if (
+            // If `email` is null or empty it's not an unimail address
+            email == null || email.trim().length() == 0 ||
+            // If `email` doesn't end with at least one unimail domain
+            unimailDomainsStream.noneMatch( f -> f != null && email.endsWith(f) )
+        ) {
             errors.add(new FormMessage(Validation.FIELD_EMAIL, "notInUnimailDomainsMessage"));
         }
 
-- 
GitLab