This is the mail archive of the newlib@sourceware.org mailing list for the newlib project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] | |
On 10/14/2014 01:16 PM, Corinna Vinschen wrote:
Hi Freddie,
...
With this patch applied, a Coverity scan shows this new problem:
*** CID 74279: Logically dead code (DEADCODE)
/newlib/libc/time/gmtime_r.c: 52 in gmtime_r()
46 {
47 rem += SECSPERDAY;
48 --days;
49 }
50 while (rem >= SECSPERDAY)
51 {
>>> CID 74279: Logically dead code (DEADCODE)
>>> Execution cannot reach this statement: "rem -= 86400L;".
52 rem -= SECSPERDAY;
53 ++days;
54 }
55
56 /* compute hour, min, and sec */
57 res->tm_hour = (int) (rem / SECSPERHOUR);
AFAICS, Coverity is right. The code starts with
rem = ((long)lcltime) % SECSPERDAY;
thus lcltime is always < SECSPERDAY. Is that just an oversight in
removing some unused code, or does that point to some other problem,
perhaps?
Small oversight only (; I attach a patch with changelog entry. Regards, FCh
Attachment:
ChangeLog.txt
Description: Text document
diff --git a/newlib/libc/time/gmtime_r.c b/newlib/libc/time/gmtime_r.c
index 1111cbc..8944845 100644
--- a/newlib/libc/time/gmtime_r.c
+++ b/newlib/libc/time/gmtime_r.c
@@ -47,11 +47,6 @@
rem += SECSPERDAY;
--days;
}
- while (rem >= SECSPERDAY)
- {
- rem -= SECSPERDAY;
- ++days;
- }
/* compute hour, min, and sec */
res->tm_hour = (int) (rem / SECSPERHOUR);
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |