aboutsummaryrefslogtreecommitdiffstats
path: root/FICS/comproc.c
diff options
context:
space:
mode:
authorMarkus Uhlin <markus@nifty-networks.net>2026-03-31 22:07:23 +0200
committerMarkus Uhlin <markus@nifty-networks.net>2026-03-31 22:07:23 +0200
commitd98787322ddab165ae3b0e2b1540c17f4fc43d8f (patch)
tree92d6d84ac847b55e913dc2f1d6a1225f9c9ac4de /FICS/comproc.c
parent4eec7f58e737a3b71d387b5c0077c1498d674b91 (diff)
Added fclose() error checking
Diffstat (limited to 'FICS/comproc.c')
-rw-r--r--FICS/comproc.c34
1 files changed, 25 insertions, 9 deletions
diff --git a/FICS/comproc.c b/FICS/comproc.c
index dc6825a..b39de60 100644
--- a/FICS/comproc.c
+++ b/FICS/comproc.c
@@ -198,7 +198,10 @@ com_news(int p, param_list param)
if (fgets(junk, sizeof junk, fp) == NULL ||
sscanf(junk, v_scan_fmt, &lval, count) != 2) {
warnx("%s: error: fgets() or sscanf()", __func__);
- fclose(fp);
+
+ if (fclose(fp) != 0)
+ warn("%s: error: fclose", __func__);
+
return COM_FAILED;
}
@@ -211,7 +214,8 @@ com_news(int p, param_list param)
crtime = lval;
pprintf(p, "%3s (%s) %s", count, fix_time(strltime(&crtime)),
junkp);
- fclose(fp);
+ if (fclose(fp) != 0)
+ warn("%s: error: fclose", __func__);
} else if (param[0].type == TYPE_WORD &&
!strcmp(param[0].val.word, "all")) {
/*
@@ -223,7 +227,10 @@ com_news(int p, param_list param)
if (fgets(junk, sizeof junk, fp) == NULL ||
sscanf(junk, v_scan_fmt, &lval, count) != 2) {
warnx("%s: error: fgets() or sscanf()", __func__);
- fclose(fp);
+
+ if (fclose(fp) != 0)
+ warn("%s: error: fclose", __func__);
+
return COM_FAILED;
}
@@ -236,7 +243,8 @@ com_news(int p, param_list param)
crtime = lval;
pprintf(p, "%3s (%s) %s", count, fix_time(strltime(&crtime)),
junkp);
- fclose(fp);
+ if (fclose(fp) != 0)
+ warn("%s: error: fclose", __func__);
} else {
/*
* Check if the specific news file exist in index.
@@ -262,8 +270,10 @@ com_news(int p, param_list param)
}
}
- fclose(fp);
-
+ if (fclose(fp) != 0) {
+ warn("%s: error: fclose", __func__);
+ return COM_OK;
+ }
if (!found) {
pprintf(p, "Bad index number!\n");
return COM_OK;
@@ -281,7 +291,11 @@ com_news(int p, param_list param)
return COM_OK;
}
- fclose(fp);
+ if (fclose(fp) != 0) {
+ warn("%s: error: fclose", __func__);
+ return COM_OK;
+ }
+
snprintf(filename, sizeof filename, "news.%s",
param[0].val.word);
@@ -795,7 +809,8 @@ plogins(int p, char *fname)
(void) fprintf(stderr, "FICS: "
"Error in login info format. %s\n",
fname);
- fclose(fp);
+ if (fclose(fp) != 0)
+ warn("%s: error: fclose", __func__);
return COM_OK;
}
@@ -815,7 +830,8 @@ plogins(int p, char *fname)
pprintf(p, "\n");
}
- fclose(fp);
+ if (fclose(fp) != 0)
+ warn("%s: error: fclose", __func__);
return COM_OK;
}