From 0312ef782e11700862f8f1e4d601706cdb8e0874 Mon Sep 17 00:00:00 2001
From: piaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>
Date: Tue, 11 Mar 2008 13:43:07 +0000
Subject: - fix crash: should check every return value of strtok_r.

git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@3992 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
---
 mbbsd/calendar.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

(limited to 'mbbsd')

diff --git a/mbbsd/calendar.c b/mbbsd/calendar.c
index 2205d71b..b87c774a 100644
--- a/mbbsd/calendar.c
+++ b/mbbsd/calendar.c
@@ -40,11 +40,9 @@ int ParseDate(const char *date, int *year, int *month, int *day)
     char *strtok_pos;
 
     strlcpy(buf, date, sizeof(buf));
-    y = strtok_r(buf, "/", &strtok_pos);
-    m = strtok_r(NULL, "/", &strtok_pos);
-    d = strtok_r(NULL, "", &strtok_pos);
-    if (!y || !m || !d)
-	return 1;
+    y = strtok_r(buf, "/", &strtok_pos); if (!y) return 1;
+    m = strtok_r(NULL, "/", &strtok_pos);if (!m) return 1;
+    d = strtok_r(NULL, "", &strtok_pos); if (!d) return 1;
 
     *year = atoi(y);
     *month = atoi(m);
-- 
cgit v1.2.3