From: John Ferlan Date: Thu, 11 Sep 2014 21:29:18 +0000 (-0400) Subject: virtime: Resolve Coverity DEADCODE X-Git-Tag: CVE-2014-3633~54 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f26e6397b30b7e4fa6018724119e07b9771ddcdd;p=thirdparty%2Flibvirt.git virtime: Resolve Coverity DEADCODE Coverity complains that because of how 'offset' is initialized to 0 (zero), the resulting math and comparison on rem is pointless. According to the origin commit id '3ec128989', the code is a replacement for gmtime(), but without the localtime() or GMT calculations - so just remove this code and add a comment indicating the removal --- diff --git a/src/util/virtime.c b/src/util/virtime.c index 9fefb672a6..acbec41635 100644 --- a/src/util/virtime.c +++ b/src/util/virtime.c @@ -127,22 +127,16 @@ const unsigned short int __mon_yday[2][13] = { void virTimeFieldsThen(unsigned long long when, struct tm *fields) { /* This code is taken from GLibC under terms of LGPLv2+ */ + /* Remove the 'offset' or GMT manipulation since we don't care. See + * commit id '3ec12898' comments regarding localtime. + */ long int days, rem, y; const unsigned short int *ip; unsigned long long whenSecs = when / 1000ull; - unsigned int offset = 0; /* We hardcoded GMT */ days = whenSecs / SECS_PER_DAY; rem = whenSecs % SECS_PER_DAY; - rem += offset; - while (rem < 0) { - rem += SECS_PER_DAY; - --days; - } - while (rem >= SECS_PER_DAY) { - rem -= SECS_PER_DAY; - ++days; - } + fields->tm_hour = rem / SECS_PER_HOUR; rem %= SECS_PER_HOUR; fields->tm_min = rem / 60;