summaryrefslogtreecommitdiff
path: root/ninfod
diff options
context:
space:
mode:
authorYOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>2012-10-09 16:33:56 +0900
committerYOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>2012-10-11 14:24:07 +0900
commite1dfb3e3bd8926fc069b9c09a79af43ebde547dd (patch)
tree95e07b2c2fa9935c791f7ae3385b16c947e3e51c /ninfod
parent9121c00222c6e70d3509466461d386acfeff42ac (diff)
downloadiputils-e1dfb3e3bd8926fc069b9c09a79af43ebde547dd.tar.gz
ninfod: Check return value of fscanf(3).
Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Diffstat (limited to 'ninfod')
-rw-r--r--ninfod/ninfod.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/ninfod/ninfod.c b/ninfod/ninfod.c
index 2012f5b..318e001 100644
--- a/ninfod/ninfod.c
+++ b/ninfod/ninfod.c
@@ -361,10 +361,14 @@ static void do_daemonize(void)
if (opt_p) {
if (!access(opt_p, R_OK)) {
if ((fp = fopen(opt_p, "r"))) {
- fscanf(fp, "%d", &pid);
+ if (fscanf(fp, "%d", &pid) != 1) {
+ DEBUG(LOG_ERR, "pid file '%s' exists, but read failed.\n",
+ opt_p, pid);
+ } else {
+ DEBUG(LOG_ERR, "pid file '%s' exists : %d\n",
+ opt_p, pid);
+ }
fclose(fp);
- DEBUG(LOG_ERR, "pid file '%s' exists : %d\n",
- opt_p, pid);
exit(1);
}
}