From 3e55dc77f4ba19fd9e79f3d5ce9d28bb6b05019e Mon Sep 17 00:00:00 2001
From: Guus Sliepen <guus@tinc-vpn.org>
Date: Tue, 8 Sep 2009 18:18:16 +0200
Subject: [PATCH] Check the return value of fscanf() when reading a PID file.

---
 lib/pidfile.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/lib/pidfile.c b/lib/pidfile.c
index 426cbf39..dd6788a6 100644
--- a/lib/pidfile.c
+++ b/lib/pidfile.c
@@ -37,11 +37,12 @@
 pid_t read_pid (char *pidfile)
 {
   FILE *f;
-  long pid = 0;
+  long pid;
 
   if (!(f=fopen(pidfile,"r")))
     return 0;
-  fscanf(f,"%ld", &pid);
+  if(fscanf(f,"%ld", &pid) != 1)
+    pid = 0;
   fclose(f);
   return pid;
 }
-- 
2.39.5