# HG changeset patch # User Sebastien Decugis # Date 1368149607 -28800 # Node ID 5d37c0db6cbfb0b0ce5f6416f6b4bcd7e8f99cc8 # Parent 1c6c8fa622ff5a281e743e079388d0cfc4466754 Fix management of the tv_nsec to avoid invalid value (Thanks Guangming for the report: http://lists.freediameter.net/pipermail/dev/2013-May/000212.html) diff -r 1c6c8fa622ff -r 5d37c0db6cbf libfdcore/p_psm.c --- a/libfdcore/p_psm.c Mon Apr 29 12:43:41 2013 +0800 +++ b/libfdcore/p_psm.c Fri May 10 09:33:27 2013 +0800 @@ -335,7 +335,7 @@ /* Add a random value between 0 and 4sec */ peer->p_psm_timer.tv_sec += random() % 4; peer->p_psm_timer.tv_nsec+= random() % 1000000000L; - if (peer->p_psm_timer.tv_nsec > 1000000000L) { + if (peer->p_psm_timer.tv_nsec >= 1000000000L) { peer->p_psm_timer.tv_nsec -= 1000000000L; peer->p_psm_timer.tv_sec ++; }