diff options
| author | manuel <manuel@mausz.at> | 2017-10-10 13:37:18 +0200 |
|---|---|---|
| committer | manuel <manuel@mausz.at> | 2017-10-10 13:37:18 +0200 |
| commit | 2100adc9e664fc786fa9fa01ed50c278b47eb415 (patch) | |
| tree | 7cf1713d4f63099f3f3adbc2971872c2b74b27a6 | |
| parent | 379571c25966786b4852f0551a645f3b447c90f0 (diff) | |
| download | qmail-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.c | 1 |
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(); |
