Werk #6190: Win-agent: prevent unsigned integer overflow in process uptime

ComponentChecks & Agents
TitleWin-agent: prevent unsigned integer overflow in process uptime
Date2018-06-12 14:40:53
Checkmk EditionCheckmk Raw Edition (CRE)
Checkmk Version1.4.0p34,1.6.0b1,1.5.0b7
LevelTrivial Change
ClassBug Fix
CompatibilityCompatible - no manual interaction needed

The process uptimes for Windows are calculated by subtracting the process creation time from the current system time. Under certain circumstances, setting up the system clock e. g. with daylight saving time has led to a situation where some processes have reported a creation time with false offset and an unsigned integer overflow through negative subtraction result. This has further led to the crash of the ps check.

The unsigned integer overflow is now prevented by checking the result of the subtraction and, in case of a negative value, logging it as an error and setting the process uptime to the default value 1.