]> git.ipfire.org Git - thirdparty/mlmmj.git/commitdiff
Use openat to reduce memory manipulation
authorBaptiste Daroussin <bapt@FreeBSD.org>
Wed, 8 Feb 2023 10:06:05 +0000 (11:06 +0100)
committerBaptiste Daroussin <bapt@FreeBSD.org>
Wed, 8 Feb 2023 10:06:05 +0000 (11:06 +0100)
src/mlmmj-process.c

index 7c9b230b69d925191341843ad43abcabefcb96f8..97df919e02d644209e0ac13c5181c15b880f2893 100644 (file)
@@ -422,8 +422,7 @@ int main(int argc, char **argv)
        int intocc = 0, findaddress = 0;
        int maxmailsize = 0;
        bool subonlypost, modonlypost, modnonsubposts, foundaddr = 0;
-       char *listdir = NULL, *mailfile = NULL, *headerfilename = NULL;
-       char *footerfilename = NULL, *donemailname = NULL;
+       char *listdir = NULL, *mailfile = NULL, *donemailname = NULL;
        char *randomstr = NULL, *mqueuename, *omitfilename;
        char *mlmmjsend, *mlmmjsub, *mlmmjunsub;
        char *bindir, *subjectprefix, *discardname, *listaddr, *listdelim = NULL;
@@ -545,14 +544,10 @@ int main(int argc, char **argv)
 
        /* hdrfd is checked in do_all_the_voodoo_here(), because the
         * customheaders file might not exist */
-       headerfilename = concatstr(2, listdir, "/control/customheaders");
-       hdrfd = open(headerfilename, O_RDONLY);
-       free(headerfilename);
+       hdrfd = openat(ctrlfd, "customheaders", O_RDONLY);
 
        /* footfd is checked in do_all_the_voodoo_here(), see above */
-       footerfilename = concatstr(2, listdir, "/control/footer");
-       footfd = open(footerfilename, O_RDONLY);
-       free(footerfilename);
+       footfd = openat(ctrlfd, "footer", O_RDONLY);
 
        delheaders = ctrlvalues(ctrlfd, "delheaders");
        if(delheaders == NULL)