From 0d70a0e434a465bcfc767cd33a1b90d9a8ad3a2f Mon Sep 17 00:00:00 2001 From: tsntsumi Date: Sat, 14 Aug 2010 15:23:53 +0000 Subject: [PATCH] fix buffer under run. --- src/ccunit/CCUnitReadSuite.c | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/src/ccunit/CCUnitReadSuite.c b/src/ccunit/CCUnitReadSuite.c index 4d5d761..bc85b1c 100644 --- a/src/ccunit/CCUnitReadSuite.c +++ b/src/ccunit/CCUnitReadSuite.c @@ -318,11 +318,23 @@ static int readline () if (!sp) return 0; /* chomp CR/LF */ - tail = line.str + line.length - 1; - while (*tail == '\n' || *tail == '\r') /* for dos/mac? */ + if (line.length > 0) { - line.length --; - *(tail --) = '\0'; + tail = line.str + line.length - 1; + if (*tail == '\n') + { + line.length --; + *tail = '\0'; + if (line.length > 0) + tail --; + } + if (*tail == '\r') /* for dos and/or mac? */ + { + line.length --; + *tail = '\0'; + if (line.length > 0) + tail --; + } } line.lno ++; return 1; -- 2.11.0