summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/src/route.c31
1 files changed, 15 insertions, 16 deletions
diff --git a/src/src/route.c b/src/src/route.c
index cdfa6e6b7..39aed90a3 100644
--- a/src/src/route.c
+++ b/src/src/route.c
@@ -1920,24 +1920,23 @@ if (unseen && r->next != NULL)
/* Unset the address expansions, and return the final result. */
ROUTE_EXIT:
-if (yield == DEFER) {
- if (
- ((Ustrstr(addr->message, "failed to expand") != NULL) || (Ustrstr(addr->message, "expansion of ") != NULL)) &&
- (
- Ustrstr(addr->message, "mysql") != NULL ||
- Ustrstr(addr->message, "pgsql") != NULL ||
+if ( yield == DEFER
+ && addr->message
+ && ( Ustrstr(addr->message, "failed to expand") != NULL
+ || Ustrstr(addr->message, "expansion of ") != NULL
+ )
+ && ( Ustrstr(addr->message, "mysql") != NULL
+ || Ustrstr(addr->message, "pgsql") != NULL
#ifdef EXPERIMENTAL_REDIS
- Ustrstr(addr->message, "redis") != NULL ||
+ || Ustrstr(addr->message, "redis") != NULL
#endif
- Ustrstr(addr->message, "sqlite") != NULL ||
- Ustrstr(addr->message, "ldap:") != NULL ||
- Ustrstr(addr->message, "ldapdn:") != NULL ||
- Ustrstr(addr->message, "ldapm:") != NULL
- )
- ) {
- addr->message = string_sprintf("Temporary internal error");
- }
-}
+ || Ustrstr(addr->message, "sqlite") != NULL
+ || Ustrstr(addr->message, "ldap:") != NULL
+ || Ustrstr(addr->message, "ldapdn:") != NULL
+ || Ustrstr(addr->message, "ldapm:") != NULL
+ )
+ )
+ addr->message = string_sprintf("Temporary internal error");
deliver_set_expansions(NULL);
router_name = NULL;