rcinput: avoid theoretically possible timerid overflow

This commit is contained in:
Stefan Seyfried
2013-12-22 22:23:41 +01:00
parent c33f5e4993
commit 164ab9ab42

View File

@@ -367,6 +367,11 @@ int CRCInput::addTimer(uint64_t Interval, bool oneshot, bool correct_time )
_newtimer.interval = 0; _newtimer.interval = 0;
_newtimer.id = timerid++; _newtimer.id = timerid++;
/* in theory, this uint32_t could overflow... */
/* ...and timerid == 0 is used as "no timer" in many places. */
if (timerid == 0)
timerid++;
if ( correct_time ) if ( correct_time )
_newtimer.times_out = timeNow+ Interval; _newtimer.times_out = timeNow+ Interval;
else else