Fix UTI_DoubleToInt32 to check for overflow
This commit is contained in:
parent
2ceb3c89ca
commit
8eb7ce8581
1 changed files with 6 additions and 0 deletions
6
util.c
6
util.c
|
@ -479,9 +479,15 @@ UTI_Int32ToDouble(NTP_int32 x)
|
|||
|
||||
/* ================================================== */
|
||||
|
||||
#define MAX_NTP_INT32 (4294967295.0 / 65536.0)
|
||||
|
||||
NTP_int32
|
||||
UTI_DoubleToInt32(double x)
|
||||
{
|
||||
if (x > MAX_NTP_INT32)
|
||||
x = MAX_NTP_INT32;
|
||||
else if (x < 0)
|
||||
x = 0.0;
|
||||
return htonl((NTP_int32)(0.5 + 65536.0 * x));
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue