aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2017-08-22 15:53:16 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2017-08-22 15:53:16 +0200
commit3505e38bd1e5714fa1203e6752c573861aab8521 (patch)
tree6c77967c5594bed998a9781306719b49402ae9bc
parente837a0dbbebf4229306df98fe9ee3b9bb30630c4 (diff)
downloadbusybox-w32-3505e38bd1e5714fa1203e6752c573861aab8521.tar.gz
busybox-w32-3505e38bd1e5714fa1203e6752c573861aab8521.tar.bz2
busybox-w32-3505e38bd1e5714fa1203e6752c573861aab8521.zip
sendmail: fix segfault if "To: email1,email2" is used
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r--mailutils/sendmail.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/mailutils/sendmail.c b/mailutils/sendmail.c
index f440e6319..defbd9552 100644
--- a/mailutils/sendmail.c
+++ b/mailutils/sendmail.c
@@ -189,8 +189,9 @@ static void rcptto(const char *s)
189// send to a list of comma separated addresses 189// send to a list of comma separated addresses
190static void rcptto_list(const char *list) 190static void rcptto_list(const char *list)
191{ 191{
192 char *str = xstrdup(list); 192 char *free_me = xstrdup(list);
193 char *s = str; 193 char *str = free_me;
194 char *s = free_me;
194 char prev = 0; 195 char prev = 0;
195 int in_quote = 0; 196 int in_quote = 0;
196 197
@@ -208,7 +209,7 @@ static void rcptto_list(const char *list)
208 } 209 }
209 if (prev != ',') 210 if (prev != ',')
210 rcptto(angle_address(str)); 211 rcptto(angle_address(str));
211 free(str); 212 free(free_me);
212} 213}
213 214
214int sendmail_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; 215int sendmail_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;