A lot of fixes found with valgrind
This commit is contained in:
@@ -215,6 +215,7 @@ int dirinbound(void)
|
||||
}
|
||||
fseek(fp, nodeshdr.filegrp + nodeshdr.mailgrp, SEEK_CUR);
|
||||
}
|
||||
fclose(fp);
|
||||
}
|
||||
free(temp);
|
||||
Syslog('m', "Finished directory inbound sessions");
|
||||
|
@@ -4,7 +4,7 @@
|
||||
* Purpose ...............: Announce new files and FileFind
|
||||
*
|
||||
*****************************************************************************
|
||||
* Copyright (C) 1997-2002
|
||||
* Copyright (C) 1997-2003
|
||||
*
|
||||
* Michiel Broek FIDO: 2:280/2802
|
||||
* Beekmansbos 10
|
||||
@@ -112,7 +112,7 @@ int main(int argc, char **argv)
|
||||
for (i = 0; i < NSIG; i++) {
|
||||
if ((i == SIGHUP) || (i == SIGINT) || (i == SIGBUS) || (i == SIGILL) || (i == SIGSEGV) || (i == SIGTERM))
|
||||
signal(i, (void (*))die);
|
||||
else
|
||||
else if ((i != SIGKILL) && (i != SIGSTOP))
|
||||
signal(i, SIG_IGN);
|
||||
}
|
||||
|
||||
|
@@ -130,9 +130,9 @@ int main(int argc, char **argv)
|
||||
* Catch all signals we can, and ignore the rest.
|
||||
*/
|
||||
for (i = 0; i < NSIG; i++) {
|
||||
if ((i == SIGHUP) || (i == SIGINT) || (i == SIGBUS) || (i == SIGILL) || (i == SIGSEGV) || (i == SIGKILL))
|
||||
if ((i == SIGHUP) || (i == SIGINT) || (i == SIGBUS) || (i == SIGILL) || (i == SIGSEGV))
|
||||
signal(i, (void (*))die);
|
||||
else
|
||||
else if ((i != SIGKILL) && (i != SIGSTOP))
|
||||
signal(i, SIG_IGN);
|
||||
}
|
||||
|
||||
|
@@ -202,6 +202,7 @@ void die(int onsig)
|
||||
Msg_Close();
|
||||
|
||||
signal(onsig, SIG_IGN);
|
||||
deinitnl();
|
||||
|
||||
if (!do_quiet) {
|
||||
show_log = TRUE;
|
||||
@@ -320,9 +321,9 @@ int main(int argc, char **argv)
|
||||
*/
|
||||
for(i = 0; i < NSIG; i++) {
|
||||
|
||||
if ((i == SIGINT) || (i == SIGBUS) || (i == SIGILL) || (i == SIGSEGV) || (i == SIGTERM) || (i == SIGKILL))
|
||||
if ((i == SIGINT) || (i == SIGBUS) || (i == SIGILL) || (i == SIGSEGV) || (i == SIGTERM))
|
||||
signal(i, (void (*))die);
|
||||
else
|
||||
else if ((i != SIGKILL) && (i != SIGSTOP))
|
||||
signal(i, SIG_IGN);
|
||||
}
|
||||
|
||||
|
@@ -88,9 +88,9 @@ int main(int argc, char **argv)
|
||||
* Catch all signals we can, and ignore the rest.
|
||||
*/
|
||||
for (i = 0; i < NSIG; i++) {
|
||||
if ((i == SIGHUP) || (i == SIGBUS) || (i == SIGKILL) || (i == SIGILL) || (i == SIGSEGV) || (i == SIGTERM))
|
||||
if ((i == SIGHUP) || (i == SIGBUS) || (i == SIGILL) || (i == SIGSEGV) || (i == SIGTERM))
|
||||
signal(i, (void (*))die);
|
||||
else
|
||||
else if ((i != SIGKILL) && (i != SIGSTOP))
|
||||
signal(i, SIG_IGN);
|
||||
}
|
||||
|
||||
|
@@ -324,9 +324,9 @@ void closepage(FILE *fa, char *Path, int inArea, int Current, FILE *fi)
|
||||
sprintf(temp2, "%s/index.temp", Path);
|
||||
}
|
||||
rename(temp2, temp1);
|
||||
chmod(temp1, 0644);
|
||||
free(temp1);
|
||||
free(temp2);
|
||||
chmod(temp1, 0644);
|
||||
fa = NULL;
|
||||
}
|
||||
|
||||
|
@@ -154,7 +154,7 @@ int main(int argc,char *argv[])
|
||||
|
||||
if ((i == SIGHUP) || (i == SIGINT) || (i == SIGBUS) || (i == SIGILL) || (i == SIGSEGV))
|
||||
signal(i, (void (*))die);
|
||||
else
|
||||
else if ((i != SIGKILL) && (i != SIGSTOP))
|
||||
signal(i, SIG_IGN);
|
||||
}
|
||||
|
||||
@@ -581,6 +581,7 @@ int compile(char *nlname, unsigned short zo, unsigned short ne, unsigned short n
|
||||
fill_nllist(ndx, &nll);
|
||||
}
|
||||
|
||||
fclose(nl);
|
||||
Syslog('+', "%d entries", entries);
|
||||
|
||||
if (!do_quiet) {
|
||||
|
161
mbfido/mbmsg.c
161
mbfido/mbmsg.c
@@ -83,100 +83,99 @@ void ProgName()
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
int i;
|
||||
char *cmd, *too = NULL, *subj = NULL, *mfile = NULL, *flavor = NULL;
|
||||
struct passwd *pw;
|
||||
long tarea = 0;
|
||||
int i;
|
||||
char *cmd, *too = NULL, *subj = NULL, *mfile = NULL, *flavor = NULL;
|
||||
struct passwd *pw;
|
||||
long tarea = 0;
|
||||
|
||||
|
||||
InitConfig();
|
||||
TermInit(1);
|
||||
oldmask = umask(007);
|
||||
t_start = time(NULL);
|
||||
InitConfig();
|
||||
TermInit(1);
|
||||
oldmask = umask(007);
|
||||
t_start = time(NULL);
|
||||
|
||||
/*
|
||||
* Catch all signals we can, and ignore or catch them
|
||||
*/
|
||||
for (i = 0; i < NSIG; i++) {
|
||||
if ((i == SIGHUP) || (i == SIGBUS) || (i == SIGILL) ||
|
||||
(i == SIGSEGV) || (i == SIGTERM) || (i == SIGKILL))
|
||||
signal(i, (void (*))die);
|
||||
else
|
||||
signal(i, SIG_IGN);
|
||||
/*
|
||||
* Catch all signals we can, and ignore or catch them
|
||||
*/
|
||||
for (i = 0; i < NSIG; i++) {
|
||||
if ((i == SIGHUP) || (i == SIGBUS) || (i == SIGILL) || (i == SIGSEGV) || (i == SIGTERM))
|
||||
signal(i, (void (*))die);
|
||||
else if ((i != SIGKILL) && (i != SIGSTOP))
|
||||
signal(i, SIG_IGN);
|
||||
}
|
||||
|
||||
if (argc < 2)
|
||||
Help();
|
||||
|
||||
cmd = xstrcpy((char *)"Cmd:");
|
||||
|
||||
for (i = 1; i < argc; i++) {
|
||||
cmd = xstrcat(cmd, (char *)" ");
|
||||
cmd = xstrcat(cmd, argv[i]);
|
||||
|
||||
if (strncasecmp(argv[i], "i", 1) == 0)
|
||||
do_index = TRUE;
|
||||
if (strncasecmp(argv[i], "l", 1) == 0)
|
||||
do_link = TRUE;
|
||||
if (strncasecmp(argv[i], "k", 1) == 0)
|
||||
do_kill = TRUE;
|
||||
if (strncasecmp(argv[i], "pa", 2) == 0)
|
||||
do_pack = TRUE;
|
||||
if (strncasecmp(argv[i], "po", 2) == 0) {
|
||||
do_post = TRUE;
|
||||
too = argv[++i];
|
||||
cmd = xstrcat(cmd, (char *)" \"");
|
||||
cmd = xstrcat(cmd, too);
|
||||
tarea = atoi(argv[++i]);
|
||||
cmd = xstrcat(cmd, (char *)"\" ");
|
||||
cmd = xstrcat(cmd, argv[i]);
|
||||
subj = argv[++i];
|
||||
cmd = xstrcat(cmd, (char *)" \"");
|
||||
cmd = xstrcat(cmd, subj);
|
||||
mfile = argv[++i];
|
||||
cmd = xstrcat(cmd, (char *)"\" ");
|
||||
cmd = xstrcat(cmd, mfile);
|
||||
flavor = argv[++i];
|
||||
cmd = xstrcat(cmd, (char *)" ");
|
||||
cmd = xstrcat(cmd, flavor);
|
||||
}
|
||||
|
||||
if (argc < 2)
|
||||
Help();
|
||||
|
||||
cmd = xstrcpy((char *)"Cmd:");
|
||||
|
||||
for (i = 1; i < argc; i++) {
|
||||
cmd = xstrcat(cmd, (char *)" ");
|
||||
cmd = xstrcat(cmd, argv[i]);
|
||||
|
||||
if (strncasecmp(argv[i], "i", 1) == 0)
|
||||
do_index = TRUE;
|
||||
if (strncasecmp(argv[i], "l", 1) == 0)
|
||||
do_link = TRUE;
|
||||
if (strncasecmp(argv[i], "k", 1) == 0)
|
||||
do_kill = TRUE;
|
||||
if (strncasecmp(argv[i], "pa", 2) == 0)
|
||||
do_pack = TRUE;
|
||||
if (strncasecmp(argv[i], "po", 2) == 0) {
|
||||
do_post = TRUE;
|
||||
too = argv[++i];
|
||||
cmd = xstrcat(cmd, (char *)" \"");
|
||||
cmd = xstrcat(cmd, too);
|
||||
tarea = atoi(argv[++i]);
|
||||
cmd = xstrcat(cmd, (char *)"\" ");
|
||||
cmd = xstrcat(cmd, argv[i]);
|
||||
subj = argv[++i];
|
||||
cmd = xstrcat(cmd, (char *)" \"");
|
||||
cmd = xstrcat(cmd, subj);
|
||||
mfile = argv[++i];
|
||||
cmd = xstrcat(cmd, (char *)"\" ");
|
||||
cmd = xstrcat(cmd, mfile);
|
||||
flavor = argv[++i];
|
||||
cmd = xstrcat(cmd, (char *)" ");
|
||||
cmd = xstrcat(cmd, flavor);
|
||||
}
|
||||
if (strncasecmp(argv[i], "-a", 2) == 0) {
|
||||
i++;
|
||||
do_area = atoi(argv[i]);
|
||||
}
|
||||
if (strncasecmp(argv[i], "-q", 2) == 0)
|
||||
do_quiet = TRUE;
|
||||
if (strncasecmp(argv[i], "-a", 2) == 0) {
|
||||
i++;
|
||||
do_area = atoi(argv[i]);
|
||||
}
|
||||
if (strncasecmp(argv[i], "-q", 2) == 0)
|
||||
do_quiet = TRUE;
|
||||
}
|
||||
|
||||
if (!(do_index || do_link || do_kill || do_pack || do_post))
|
||||
Help();
|
||||
if (!(do_index || do_link || do_kill || do_pack || do_post))
|
||||
Help();
|
||||
|
||||
ProgName();
|
||||
pw = getpwuid(getuid());
|
||||
InitClient(pw->pw_name, (char *)"mbmsg", CFG.location, CFG.logfile,
|
||||
ProgName();
|
||||
pw = getpwuid(getuid());
|
||||
InitClient(pw->pw_name, (char *)"mbmsg", CFG.location, CFG.logfile,
|
||||
CFG.util_loglevel, CFG.error_log, CFG.mgrlog, CFG.debuglog);
|
||||
|
||||
Syslog(' ', " ");
|
||||
Syslog(' ', "MBMSG v%s", VERSION);
|
||||
Syslog(' ', cmd);
|
||||
free(cmd);
|
||||
Syslog(' ', " ");
|
||||
Syslog(' ', "MBMSG v%s", VERSION);
|
||||
Syslog(' ', cmd);
|
||||
free(cmd);
|
||||
|
||||
if (!do_quiet) {
|
||||
printf("\n");
|
||||
colour(3, 0);
|
||||
}
|
||||
if (!do_quiet) {
|
||||
printf("\n");
|
||||
colour(3, 0);
|
||||
}
|
||||
|
||||
if (do_index || do_link || do_kill || do_pack) {
|
||||
memset(&MsgBase, 0, sizeof(MsgBase));
|
||||
DoMsgBase();
|
||||
}
|
||||
if (do_index || do_link || do_kill || do_pack) {
|
||||
memset(&MsgBase, 0, sizeof(MsgBase));
|
||||
DoMsgBase();
|
||||
}
|
||||
|
||||
if (do_post) {
|
||||
Post(too, tarea, subj, mfile, flavor);
|
||||
}
|
||||
if (do_post) {
|
||||
Post(too, tarea, subj, mfile, flavor);
|
||||
}
|
||||
|
||||
die(MBERR_OK);
|
||||
return 0;
|
||||
die(MBERR_OK);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
@@ -4,7 +4,7 @@
|
||||
* Purpose ...............: Netmail tracker / router
|
||||
*
|
||||
*****************************************************************************
|
||||
* Copyright (C) 1997-2002
|
||||
* Copyright (C) 1997-2003
|
||||
*
|
||||
* Michiel Broek FIDO: 2:280/2802
|
||||
* Beekmansbos 10
|
||||
@@ -267,6 +267,7 @@ int IsLocal(char *ftn, fidoaddr *res)
|
||||
}
|
||||
}
|
||||
|
||||
tidy_faddr(dest);
|
||||
return R_NOROUTE;
|
||||
}
|
||||
|
||||
@@ -378,9 +379,9 @@ int AreWeHost(faddr *dest)
|
||||
|
||||
int AreWeHub(faddr *dest)
|
||||
{
|
||||
int i, j;
|
||||
node *nl;
|
||||
faddr *fido;
|
||||
int i, j;
|
||||
node *nl;
|
||||
faddr *fido;
|
||||
|
||||
for (i = 0; i < 40; i++)
|
||||
if (CFG.akavalid[i])
|
||||
|
Reference in New Issue
Block a user