git://git.exim.org
/
exim.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
a522411
)
tidying
author
Jeremy Harris
<jgh146exb@wizmail.org>
Mon, 11 Oct 2021 14:25:13 +0000
(15:25 +0100)
committer
Jeremy Harris
<jgh146exb@wizmail.org>
Mon, 11 Oct 2021 14:25:13 +0000
(15:25 +0100)
src/src/smtp_out.c
patch
|
blob
|
history
diff --git
a/src/src/smtp_out.c
b/src/src/smtp_out.c
index 4e8c4486944476610c96e60bd96b05362c8f4795..2147750af1068dae10d6576083bd73f588973ed4 100644
(file)
--- a/
src/src/smtp_out.c
+++ b/
src/src/smtp_out.c
@@
-27,7
+27,7
@@
Arguments:
which case the function does nothing
host_af AF_INET or AF_INET6 for the outgoing IP address
addr the mail address being handled (for setting errors)
which case the function does nothing
host_af AF_INET or AF_INET6 for the outgoing IP address
addr the mail address being handled (for setting errors)
- interface point this to the interface
+ interface point this to the interface
if there is one defined
msg to add to any error message
Returns: TRUE on success, FALSE on failure, with error message
msg to add to any error message
Returns: TRUE on success, FALSE on failure, with error message
@@
-64,11
+64,10
@@
if (is_tainted2(expint, LOG_MAIN|LOG_PANIC, "Tainted value '%s' from '%s' for in
Uskip_whitespace(&expint);
if (!*expint) return TRUE;
Uskip_whitespace(&expint);
if (!*expint) return TRUE;
-/* we just tested to ensure no taint, so big_buffer is ok */
-while ((iface = string_nextinlist(&expint, &sep, big_buffer,
- big_buffer_size)))
+while ((iface = string_nextinlist(&expint, &sep, NULL, 0)))
{
{
- if (string_is_ip_address(iface, NULL) == 0)
+ int if_af = string_is_ip_address(iface, NULL);
+ if (if_af == 0)
{
addr->transport_return = PANIC;
addr->message = string_sprintf("\"%s\" is not a valid IP "
{
addr->transport_return = PANIC;
addr->message = string_sprintf("\"%s\" is not a valid IP "
@@
-77,11
+76,11
@@
while ((iface = string_nextinlist(&expint, &sep, big_buffer,
return FALSE;
}
return FALSE;
}
- if ((
(Ustrchr(iface, ':') == NULL)? AF_INET:
AF_INET6) == host_af)
+ if ((
if_af == 4 ? AF_INET :
AF_INET6) == host_af)
break;
}
break;
}
-
if (iface) *interface = string_copy(iface)
;
+
*interface = iface
;
return TRUE;
}
return TRUE;
}