summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormanuel <manuel@mausz.at>2017-10-10 13:37:18 +0200
committermanuel <manuel@mausz.at>2017-10-10 13:37:18 +0200
commit2100adc9e664fc786fa9fa01ed50c278b47eb415 (patch)
tree7cf1713d4f63099f3f3adbc2971872c2b74b27a6
parent379571c25966786b4852f0551a645f3b447c90f0 (diff)
downloadqmail-2100adc9e664fc786fa9fa01ed50c278b47eb415.tar.gz
qmail-2100adc9e664fc786fa9fa01ed50c278b47eb415.tar.bz2
qmail-2100adc9e664fc786fa9fa01ed50c278b47eb415.zip
SMTPUTF8: substract null termination
qmail-remote assumes host is not null terminated. IDN requires null termination so subtract the trailing NULL after appending.
-rw-r--r--qmail-remote.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/qmail-remote.c b/qmail-remote.c
index f8e60ad..adb7343 100644
--- a/qmail-remote.c
+++ b/qmail-remote.c
@@ -1057,6 +1057,7 @@ char **argv;
1057#ifdef SMTPUTF8 1057#ifdef SMTPUTF8
1058 char *asciihost = 0; 1058 char *asciihost = 0;
1059 if (!stralloc_0(&host)) temp_nomem(); 1059 if (!stralloc_0(&host)) temp_nomem();
1060 --host.len;
1060 switch (idn2_lookup_u8(host.s,(uint8_t**)&asciihost,IDN2_NFC_INPUT)) { 1061 switch (idn2_lookup_u8(host.s,(uint8_t**)&asciihost,IDN2_NFC_INPUT)) {
1061 case IDN2_OK: break; 1062 case IDN2_OK: break;
1062 case IDN2_MALLOC: temp_nomem(); 1063 case IDN2_MALLOC: temp_nomem();