Mercurial > hg > mlmmj
changeset 216:cec96ecd796c
More memory debugging, and small bugfixes
author | mmj |
---|---|
date | Fri, 11 Jun 2004 20:26:58 +1000 |
parents | 7f09a5d661dc |
children | 08b8e5879c6b |
files | ChangeLog README TODO VERSION include/log_error.h src/log_error.c src/mlmmj-bounce.c src/mlmmj-maintd.c src/mlmmj-sub.c src/mlmmj-unsub.c |
diffstat | 10 files changed, 27 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Fri Jun 11 03:51:33 2004 +1000 +++ b/ChangeLog Fri Jun 11 20:26:58 2004 +1000 @@ -1,3 +1,4 @@ + o More memory debugging 0.7.1 o Fix bug with .reciptto and .mailfrom getting swapped o Plug a few small memory leaks in mlmmj-maintd
--- a/README Fri Jun 11 03:51:33 2004 +1000 +++ b/README Fri Jun 11 20:26:58 2004 +1000 @@ -1,4 +1,4 @@ -README mlmmj-0.7.0 Jun 9th 2004 +README mlmmj-0.7.1 Jun 10th 2004 This is an attempt at implementing a mailing list manager with the same functionality as the brilliant ezmlm, but with a decent license and mail server @@ -60,10 +60,7 @@ NOTE: Don't forget newaliases. 4) Start mlmmj-maintd (remember full path when starting it!) or add it to - crontab with -F switch. If using it in daemon mode, keep an eye on it - everyonce in a while to check it's running, or to make sure it's not turning - into a memory hog. In the case it should happen, please tell us! - For now the recommended way is to run it via cron: + crontab with -F switch. The recommended way for now is to run it via cron: "0 */2 * * * /usr/bin/mlmmj-maintd -F -L /var/spool/mlmmj/mlmmj-test"
--- a/TODO Fri Jun 11 03:51:33 2004 +1000 +++ b/TODO Fri Jun 11 20:26:58 2004 +1000 @@ -7,5 +7,3 @@ o listname+get functionality o web interface -An ever ongoing TODO is we need someone to run it all through valgrind or -similar and plug all memory and fd leaks etc.
--- a/VERSION Fri Jun 11 03:51:33 2004 +1000 +++ b/VERSION Fri Jun 11 20:26:58 2004 +1000 @@ -1,1 +1,1 @@ -0.7.0 +0.7.2-RC
--- a/include/log_error.h Fri Jun 11 03:51:33 2004 +1000 +++ b/include/log_error.h Fri Jun 11 20:26:58 2004 +1000 @@ -14,6 +14,7 @@ #define LOG_ARGS __FILE__, __LINE__, strerror(errno) void log_set_name(const char *name); +void log_free_name(void); void log_error(const char *file, int line, const char *errstr, const char *fmt, ...);
--- a/src/log_error.c Fri Jun 11 03:51:33 2004 +1000 +++ b/src/log_error.c Fri Jun 11 20:26:58 2004 +1000 @@ -18,6 +18,11 @@ log_name = strdup(name); } +void log_free_name() +{ + free(log_name); +} + void log_error(const char *file, int line, const char *errstr, const char *fmt, ...) {
--- a/src/mlmmj-bounce.c Fri Jun 11 03:51:33 2004 +1000 +++ b/src/mlmmj-bounce.c Fri Jun 11 20:26:58 2004 +1000 @@ -127,6 +127,7 @@ free(listaddr); free(listfqdn); free(listname); + free(indexstr); probefile = concatstr(4, listdir, "/bounce/", addr, "-probe"); MY_ASSERT(probefile); @@ -292,7 +293,6 @@ free(bfilename); exit(EXIT_FAILURE); } - free(bfilename); /* TODO check that the message is not already bounced */ @@ -317,6 +317,7 @@ rename(mailname, savename); free(savename); } + free(bfilename); return EXIT_SUCCESS; }
--- a/src/mlmmj-maintd.c Fri Jun 11 03:51:33 2004 +1000 +++ b/src/mlmmj-maintd.c Fri Jun 11 20:26:58 2004 +1000 @@ -293,6 +293,8 @@ return 1; } + free(dirname); + while((dp = readdir(queuedir)) != NULL) { if((strcmp(dp->d_name, "..") == 0) || (strcmp(dp->d_name, ".") == 0)) @@ -634,7 +636,7 @@ { int opt, daemonize = 1; char *bindir, *listdir = NULL, *mlmmjsend, *mlmmjbounce, *mlmmjunsub; - char *logstr, *logname, *random = random_str(); + char *logstr, *logname, *random; char uidstr[16]; struct stat st; @@ -697,10 +699,13 @@ } for(;;) { + random = random_str(); logname = concatstr(3, listdir, "maintdlog-", random); + free(random); maintdlogfd = open(logname, O_WRONLY|O_EXCL|O_CREAT, S_IRUSR|S_IWUSR); if(maintdlogfd < 0) { + free(logname); log_error(LOG_ARGS, "Could not open maintenance logfile"); exit(EXIT_FAILURE); } @@ -745,5 +750,11 @@ sleep(MAINTD_SLEEP); } + free(mlmmjbounce); + free(mlmmjsend); + free(mlmmjunsub); + + log_free_name(); + exit(EXIT_SUCCESS); }