diff --git a/daemon.c b/daemon.c
index e74ecac952fa0d399a1ed0c426a9e27d96b3ddcb..674e30dca3d05cabc5a72e7bb0a40e64eaa4b2eb 100644 (file)
--- a/daemon.c
+++ b/daemon.c
FILE *f = fopen(path, "w");
if (!f)
die("cannot open pid file %s: %s", path, strerror(errno));
- fprintf(f, "%d\n", getpid());
- fclose(f);
+ if (fprintf(f, "%d\n", getpid()) < 0 || fclose(f) != 0)
+ die("failed to write pid file %s: %s", path, strerror(errno));
}
static int serve(char *listen_addr, int listen_port, struct passwd *pass, gid_t gid)