From: Baptiste Daroussin Date: Tue, 7 Mar 2023 17:05:56 +0000 (+0100) Subject: mlmmj-send: accept file descriptor number as -s argument X-Git-Tag: RELEASE_1_4_0b1~88 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=28909e2e6909839ae78f19cd2950e53bb4fdf10a;p=thirdparty%2Fmlmmj.git mlmmj-send: accept file descriptor number as -s argument --- diff --git a/ChangeLog b/ChangeLog index 0ebd4877..803e5c15 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,6 @@ 1.4.0-a3 o Fix a potential crash with mail without separator between headers and body + o mlmmj-send: accept file descriptor number as -s argument 1.4.0-a2 o Fix a crash with forged probe emails o mlmmj-send does not need anymore absolute path diff --git a/src/mlmmj-send.c b/src/mlmmj-send.c index 28c530fe..bd3c1003 100644 --- a/src/mlmmj-send.c +++ b/src/mlmmj-send.c @@ -23,6 +23,7 @@ #include #include +#include #include #include #include @@ -386,6 +387,7 @@ int main(int argc, char **argv) struct mail mail = { 0 }; struct ml ml; int subdirfd, mailfd; + const char *errp; log_set_name(argv[0]); ml_init(&ml); @@ -506,7 +508,8 @@ int main(int argc, char **argv) mail.addtohdr = statctrl(ml.ctrlfd, "addtohdr"); /* FALLTHROUGH */ case '4': /* sending mails to subfile */ - if((subfd = open(subfilename, O_RDONLY)) < 0) { + subfd = strtoim(subfilename, 0, INT_MAX, &errp); + if (errp != NULL && (subfd = open(subfilename, O_RDONLY)) < 0) { log_error(LOG_ARGS, "Could not open '%s':", subfilename); exit(EXIT_FAILURE);