]> git.ipfire.org Git - thirdparty/mlmmj.git/commitdiff
Add one free() and do a little fd cleanup
authormmj <none@none>
Tue, 9 Nov 2004 08:40:48 +0000 (19:40 +1100)
committermmj <none@none>
Tue, 9 Nov 2004 08:40:48 +0000 (19:40 +1100)
src/gethdrline.c
src/mlmmj-process.c

index e77c5f6d1f75b6f07120a2eb97f071bfc1a84d47..819c4aac9caaaf0949c2a431ae44c39b784f75ac 100644 (file)
@@ -55,6 +55,7 @@ char *gethdrline(int fd)
                } else {
                        tmp = retstr;
                        retstr = concatstr(3, retstr, line, nextline);
+                       myfree(line);
                        myfree(tmp);
 
                        return retstr;
index 589ebc45825ec1acdb4ea04adc9c260c6248eb37..a79b27437dbd6ad335dc10718bfb21e94ea0455b 100644 (file)
@@ -92,14 +92,15 @@ void newmoderated(const char *listdir, const char *mailfilename,
        if((moderatorsfd = open(moderatorsfilename, O_RDONLY)) < 0) {
                log_error(LOG_ARGS, "Could not open '%s'", moderatorsfilename);
                myfree(moderatorsfilename);
-               close(queuefd);
+               close(moderatorfd);
                exit(EXIT_FAILURE);
        }
        myfree(moderatorsfilename);
 
        if((mailfd = open(mailfilename, O_RDONLY)) < 0) {
                log_error(LOG_ARGS, "Could not open '%s'", mailfilename);
-               close(queuefd);
+               close(moderatorfd);
+               close(moderatorsfd);
                exit(EXIT_FAILURE);
        }
 
@@ -117,6 +118,9 @@ void newmoderated(const char *listdir, const char *mailfilename,
        if(queuefd < 0) {
                log_error(LOG_ARGS, "Could not open '%s'", queuefilename);
                myfree(queuefilename);
+               close(moderatorfd);
+               close(moderatorsfd);
+               close(mailfd);
                exit(EXIT_FAILURE);
        }
 
@@ -484,9 +488,9 @@ int main(int argc, char **argv)
        close(rawmailfd);
        close(donemailfd);
 
-       if(hdrfd)
+       if(hdrfd >= 0)
                close(hdrfd);
-       if(footfd)
+       if(footfd >= 0)
                close(footfd);
 
        if(readhdrs[0].token) { /* From: addresses */