Index: src/writecabrillo.c =================================================================== --- src/writecabrillo.c (révision 10) +++ src/writecabrillo.c (copie de travail) @@ -59,6 +59,7 @@ } if ( (fp2 = fopen("./cabrillo","w")) == NULL){ fprintf(stdout, "Opening cbr file not possible.\n"); + fclose(fp1); return(2); } if (strlen(standardexchange) == 0) { @@ -412,6 +413,7 @@ if ( (fp2 = fopen(adif_tmp_name,"w")) == NULL){ fprintf(stdout, "Opening ADIF file not possible.\n"); + fclose(fp1); return(2); } else { fputs("######################################################################################\n",fp2); Index: src/readcalls.c =================================================================== --- src/readcalls.c (révision 10) +++ src/readcalls.c (copie de travail) @@ -76,7 +76,7 @@ for (n = 0; n < 6; n++) zonescore[n] = 0; - for (n = 0 ; n <= NBANDS ; n++) + for (n = 0 ; n < NBANDS ; n++) multscore[n] = 0; for (n = 0; n < MAX_MULTS; n++) @@ -496,7 +496,7 @@ for (i = 0; i <= 5 ; i++) countryscore[i] = 0; - for (i = 0; i <= NBANDS ; i++) + for (i = 0; i < NBANDS ; i++) multscore[i] = 0; wysiwygmults = 0; Index: src/searchlog.c =================================================================== --- src/searchlog.c (révision 10) +++ src/searchlog.c (copie de travail) @@ -842,7 +842,7 @@ extern char callmasterarray[MAX_CALLMASTER][14]; extern int arrlss; - FILE *cfp ; + FILE *cfp = NULL; char callmaster_location[80]; char s_inputbuffer[186] = ""; long int count = 0; @@ -907,6 +907,11 @@ fclose(cfp); } + else + { + if (cfp) + fclose(cfp); + } return(count); Index: src/getctydata.c =================================================================== --- src/getctydata.c (révision 10) +++ src/getctydata.c (copie de travail) @@ -330,7 +330,7 @@ checkncall[pp]='\0'; - for (i=0 ; i <= MAX_DBLINES ; i++){ + for (i=0 ; i < MAX_DBLINES ; i++){ if ((strncmp(checkncall, prefixlines[i] , strlen(prefixlines[i])) == 0)) { Index: src/makelogline.c =================================================================== --- src/makelogline.c (révision 10) +++ src/makelogline.c (copie de travail) @@ -36,7 +36,7 @@ char fillspaces[50] = " "; int points=0; static int lastbandinx = 0; -char grid[6] = ""; +char grid[7] = ""; int sr_nr = 0; int i; char khz[4] = " 000"; Index: src/initial_exchange.c =================================================================== --- src/initial_exchange.c (révision 10) +++ src/initial_exchange.c (copie de travail) @@ -48,6 +48,7 @@ ie_listhead = malloc(sizeof (struct ie_list)); if (ie_listhead == NULL) { + fclose(fp); showmsg("Out of memory"); return(NULL); } @@ -64,6 +65,8 @@ ie_listhead->next = NULL; ie_current = ie_listhead; }else { + fclose(fp); + free(ie_listhead); showmsg ("Wrong format, no comma found"); return(NULL); } @@ -80,6 +83,8 @@ new = malloc(sizeof (struct ie_list)); if (new == NULL) { + fclose(fp); + free(ie_listhead); showmsg("Out of memory"); return(NULL); } @@ -102,6 +107,7 @@ } + fclose(fp); return(ie_listhead); }