{
smtp_transport_options_block *ob =
(smtp_transport_options_block *)addr->transport->options_block;
+ smtp_context * sx = NULL;
/* The information wasn't available in the cache, so we have to do a real
callout and save the result in the cache for next time, unless no_cache is set,
int host_af;
int port = 25;
uschar * interface = NULL; /* Outgoing interface to use; NULL => any */
- smtp_context * sx = store_get(sizeof(*sx), TRUE); /* tainted buffers */
if (!host->address)
{
log_write(0, LOG_MAIN|LOG_PANIC, "<%s>: %s", addr->address,
addr->message);
+ if (!sx) sx = store_get(sizeof(*sx), TRUE); /* tainted buffers */
+ memset(sx, 0, sizeof(*sx));
+
sx->addrlist = addr;
sx->conn_args.host = host;
sx->conn_args.host_af = host_af,