Limit field width when scanning PID file.
[tinc] / lib / pidfile.c
index 426cbf3..425b304 100644 (file)
@@ -14,9 +14,9 @@
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     GNU General Public License for more details.
 
-    You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA
+    You should have received a copy of the GNU General Public License along
+    with this program; if not, write to the Free Software Foundation, Inc.,
+    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 */
 
 /* left unaltered for tinc -- Ivo Timmermans */
 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,"%20ld", &pid) != 1)
+    pid = 0;
   fclose(f);
   return pid;
 }