dovecot-2.0: lmtp: Crashfix for handling invalid MAIL/RCPT comma...
dovecot at dovecot.org
dovecot at dovecot.org
Mon Apr 5 08:18:27 EEST 2010
details: http://hg.dovecot.org/dovecot-2.0/rev/c435103ee0ff
changeset: 11067:c435103ee0ff
user: Timo Sirainen <tss at iki.fi>
date: Mon Apr 05 08:18:25 2010 +0300
description:
lmtp: Crashfix for handling invalid MAIL/RCPT commands.
diffstat:
src/lmtp/commands.c | 17 ++++-------------
1 files changed, 4 insertions(+), 13 deletions(-)
diffs (45 lines):
diff -r 767eb5691fe2 -r c435103ee0ff src/lmtp/commands.c
--- a/src/lmtp/commands.c Mon Apr 05 08:13:36 2010 +0300
+++ b/src/lmtp/commands.c Mon Apr 05 08:18:25 2010 +0300
@@ -85,19 +85,14 @@
}
argv = t_strsplit(args, " ");
- if (argv == NULL)
- addr = "";
- else {
- addr = argv[0];
- argv++;
- }
+ addr = argv[0] == NULL ? "" : argv[0];
len = strlen(addr);
if (strncasecmp(addr, "FROM:<", 6) != 0 || addr[len-1] != '>') {
client_send_line(client, "501 5.5.4 Invalid parameters");
return 0;
}
- for (; *argv != NULL; argv++) {
+ for (argv++; *argv != NULL; argv++) {
if (strcasecmp(*argv, "BODY=7BIT") == 0)
client->mail_body_7bit = TRUE;
else if (strcasecmp(*argv, "BODY=8BITMIME") == 0)
@@ -346,17 +341,13 @@
}
argv = t_strsplit(args, " ");
- if (argv == NULL)
- arg = "";
- else {
- arg = argv[0];
- argv++;
- }
+ arg = argv[0] == NULL ? "" : argv[0];
len = strlen(arg);
if (strncasecmp(arg, "TO:<", 4) != 0 || arg[len-1] != '>') {
client_send_line(client, "501 5.5.4 Invalid parameters");
return 0;
}
+ argv++;
memset(&rcpt, 0, sizeof(rcpt));
address = lmtp_unescape_address(t_strndup(arg + 4, len - 5));
More information about the dovecot-cvs
mailing list