Check for proper output separator in expanding ${addresses:STRING} (Closes 2171)
[exim.git] / src / src / expand.c
index 353b8ea56b6cdb6a19f0226d826b681bd9254e72..67b3d65de43108090c7837e9a6c673fc2b7ec5fe 100644 (file)
@@ -6797,7 +6797,13 @@ while (*s != 0)
         int start, end, domain;  /* Not really used */
 
         while (isspace(*sub)) sub++;
-        if (*sub == '>') { *outsep = *++sub; ++sub; }
+        if (*sub == '>')
+          if (*outsep = *++sub) ++sub;
+          else {
+            expand_string_message = string_sprintf("output separator "
+              "missing in expanding ${addresses:%s}", --sub);
+            goto EXPAND_FAILED;
+          }
         parse_allow_group = TRUE;
 
         for (;;)