A lot of fixes found with valgrind

This commit is contained in:
Michiel Broek
2003-12-04 22:07:33 +00:00
parent fab5a2edae
commit f0bbdba104
37 changed files with 2267 additions and 1427 deletions

View File

@@ -463,53 +463,55 @@ void InitFidonetdb(void)
void gold_akamatch(FILE *fp)
{
char temp[PATH_MAX];
FILE *fido;
faddr *want;
int i;
char temp[PATH_MAX];
FILE *fido;
faddr *want, *ta;
int i;
sprintf(temp, "%s/etc/fidonet.data", getenv("MBSE_ROOT"));
if ((fido = fopen(temp, "r")) == NULL)
return;
sprintf(temp, "%s/etc/fidonet.data", getenv("MBSE_ROOT"));
if ((fido = fopen(temp, "r")) == NULL)
return;
fprintf(fp, "; AKA Matching\n;\n");
want = (faddr *)malloc(sizeof(faddr));
fprintf(fp, "; AKA Matching\n;\n");
want = (faddr *)malloc(sizeof(faddr));
fread(&fidonethdr, sizeof(fidonethdr), 1, fido);
while ((fread(&fidonet, fidonethdr.recsize, 1, fido)) == 1) {
fread(&fidonethdr, sizeof(fidonethdr), 1, fido);
while ((fread(&fidonet, fidonethdr.recsize, 1, fido)) == 1) {
for (i = 0; i < 6; i++)
if (fidonet.zone[i]) {
want->zone = fidonet.zone[0];
want->net = 0;
want->node = 0;
want->point = 0;
want->name = NULL;
want->domain = NULL;
fprintf(fp, "AKAMATCH %d:* %s\n", fidonet.zone[i], ascfnode(bestaka_s(want), 0xf));
}
}
for (i = 0; i < 6; i++)
if (fidonet.zone[i]) {
want->zone = fidonet.zone[0];
want->net = 0;
want->node = 0;
want->point = 0;
want->name = NULL;
want->domain = NULL;
ta = bestaka_s(want);
fprintf(fp, "AKAMATCH %d:* %s\n", fidonet.zone[i], ascfnode(ta, 0xf));
tidy_faddr(ta);
}
}
free(want);
fprintf(fp, ";\n");
fprintf(fp, "AKAMATCHNET YES\n");
fprintf(fp, "AKAMATCHECHO YES\n"); /* On request, should work better */
fprintf(fp, "AKAMATCHLOCAL NO\n\n");
free(want);
fprintf(fp, ";\n");
fprintf(fp, "AKAMATCHNET YES\n");
fprintf(fp, "AKAMATCHECHO YES\n");
fprintf(fp, "AKAMATCHLOCAL NO\n\n");
fprintf(fp, "; NODELISTS\n;\n");
fprintf(fp, "NODEPATH %s/\n", CFG.nodelists);
fseek(fido, fidonethdr.hdrsize, SEEK_SET);
while ((fread(&fidonet, fidonethdr.recsize, 1, fido)) == 1) {
fprintf(fp, "NODELIST %s.*\n", fidonet.nodelist);
for (i = 0; i < 6; i++)
if (strlen(fidonet.seclist[i].nodelist) || fidonet.seclist[i].zone)
fprintf(fp, "NODELIST %s.*\n", fidonet.seclist[i].nodelist);
}
// fprintf(fp, "USERLIST golded.lst\n");
fprintf(fp, "LOOKUPNET YES\n");
fprintf(fp, "LOOKUPECHO NO\n");
fprintf(fp, "LOOKUPLOCAL NO\n\n");
fclose(fido);
fprintf(fp, "; NODELISTS\n;\n");
fprintf(fp, "NODEPATH %s/\n", CFG.nodelists);
fseek(fido, fidonethdr.hdrsize, SEEK_SET);
while ((fread(&fidonet, fidonethdr.recsize, 1, fido)) == 1) {
fprintf(fp, "NODELIST %s.*\n", fidonet.nodelist);
for (i = 0; i < 6; i++)
if (strlen(fidonet.seclist[i].nodelist) || fidonet.seclist[i].zone)
fprintf(fp, "NODELIST %s.*\n", fidonet.seclist[i].nodelist);
}
// fprintf(fp, "USERLIST golded.lst\n");
fprintf(fp, "LOOKUPNET YES\n");
fprintf(fp, "LOOKUPECHO NO\n");
fprintf(fp, "LOOKUPLOCAL NO\n\n");
fclose(fido);
}

View File

@@ -779,7 +779,7 @@ void s_fidomailcfg(void)
mvprintw(12,42, "13. 4d address");
mvprintw(13,42, "14. Split at");
mvprintw(14,42, "15. Force at");
mvprintw(15,42, "16. Allow %+*");
mvprintw(15,42, "16. Allow +*");
mvprintw(16,42, "17. Notify");
mvprintw(17,42, "18. Passwd");
mvprintw(18,42, "19. Pause");

View File

@@ -4,7 +4,7 @@
* Purpose ...............: Message Areas Setup
*
*****************************************************************************
* Copyright (C) 1997-2002
* Copyright (C) 1997-2003
*
* Michiel Broek FIDO: 2:280/2802
* Beekmansbos 10
@@ -535,48 +535,48 @@ void SetScreen()
long LoadMsgRec(int, int);
long LoadMsgRec(int Area, int work)
{
FILE *fil;
char mfile[PATH_MAX];
long offset;
sysconnect System;
int i;
FILE *fil;
char mfile[PATH_MAX];
long offset;
sysconnect System;
int i;
if (work)
working(1, 0, 0);
if (work)
working(1, 0, 0);
sprintf(mfile, "%s/etc/mareas.temp", getenv("MBSE_ROOT"));
if ((fil = fopen(mfile, "r")) == NULL) {
working(2, 0, 0);
return -1;
}
sprintf(mfile, "%s/etc/mareas.temp", getenv("MBSE_ROOT"));
if ((fil = fopen(mfile, "r")) == NULL) {
working(2, 0, 0);
return -1;
}
if ((tfil = tmpfile()) == NULL) {
working(2, 0, 0);
return -1;
}
if ((tfil = tmpfile()) == NULL) {
working(2, 0, 0);
return -1;
}
fread(&msgshdr, sizeof(msgshdr), 1, fil);
offset = msgshdr.hdrsize + (((Area -1) * (msgshdr.recsize + msgshdr.syssize)));
if (fseek(fil, offset, SEEK_SET) != 0) {
fclose(tfil);
tfil = NULL;
working(2, 0, 0);
return -1;
}
fread(&msgshdr, sizeof(msgshdr), 1, fil);
offset = msgshdr.hdrsize + (((Area -1) * (msgshdr.recsize + msgshdr.syssize)));
if (fseek(fil, offset, SEEK_SET) != 0) {
fclose(tfil);
tfil = NULL;
working(2, 0, 0);
return -1;
}
fread(&msgs, msgshdr.recsize, 1, fil);
MsgCrc = 0xffffffff;
MsgCrc = upd_crc32((char *)&msgs, MsgCrc, msgshdr.recsize);
for (i = 0; i < (msgshdr.syssize / sizeof(sysconnect)); i++) {
fread(&System, sizeof(sysconnect), 1, fil);
fwrite(&System, sizeof(sysconnect), 1, tfil);
MsgCrc = upd_crc32((char *)&System, MsgCrc, sizeof(sysconnect));
}
fclose(fil);
if (work)
working(0, 0, 0);
fread(&msgs, msgshdr.recsize, 1, fil);
MsgCrc = 0xffffffff;
MsgCrc = upd_crc32((char *)&msgs, MsgCrc, msgshdr.recsize);
for (i = 0; i < (msgshdr.syssize / sizeof(sysconnect)); i++) {
fread(&System, sizeof(sysconnect), 1, fil);
fwrite(&System, sizeof(sysconnect), 1, tfil);
MsgCrc = upd_crc32((char *)&System, MsgCrc, sizeof(sysconnect));
}
fclose(fil);
if (work)
working(0, 0, 0);
return offset;
return offset;
}
@@ -714,7 +714,8 @@ void MsgGlobal(void)
menu = select_menu(13);
switch (menu) {
case 0: return;
case 0: tidy_grlist(&mgr);
return;
case 1: a1 = PullUplink((char *)"AKA TO DELETE");
break;
case 2: a2 = PullUplink((char *)"AKA TO ADD");
@@ -991,6 +992,7 @@ void MsgGlobal(void)
}
if (tfil != NULL)
fclose(tfil);
tfil = NULL;
}
working(0, 0, 0);
@@ -1099,6 +1101,9 @@ int EditMsgRec(int Area)
Syslog('+', "Saved message area record %d", Area);
}
}
if (tfil != NULL)
fclose(tfil);
tfil = NULL;
IsDoing("Browsing Menu");
return 0;
case 1: E_STR( 6,16,40,msgs.Name, "The ^Name^ of this area")

View File

@@ -270,10 +270,10 @@ void CloseNoderec(int Force)
}
chmod(fin, 0640);
unlink(fout);
working(1, 0, 0);
free(fin);
free(fout);
unlink(fout);
}

View File

@@ -4,7 +4,7 @@
* Purpose ...............: TIC Areas Setup Program
*
*****************************************************************************
* Copyright (C) 1997-2002
* Copyright (C) 1997-2003
*
* Michiel Broek FIDO: 2:280/2802
* Beekmansbos 10
@@ -611,7 +611,8 @@ void TicGlobal(void)
menu = select_menu(7);
switch (menu) {
case 0: return;
case 0: tidy_grlist(&mgr);
return;
case 1: a1 = PullUplink((char *)"AKA TO DELETE");
break;
case 2: a2 = PullUplink((char *)"AKA TO ADD");
@@ -900,6 +901,9 @@ int EditTicRec(int Area)
Syslog('+', "Saved tic record %d", Area);
}
}
if (ttfil != NULL)
fclose(ttfil);
ttfil = NULL;
IsDoing("Browsing Menu");
free(temp);
return 0;