Module: kamailio Branch: master Commit: 0c6653bf1c3ee7b64e811bc752e03fa0adfb0dfe URL: https://github.com/kamailio/kamailio/commit/0c6653bf1c3ee7b64e811bc752e03fa0...
Author: Daniel-Constantin Mierla miconda@gmail.com Committer: Daniel-Constantin Mierla miconda@gmail.com Date: 2016-06-23T07:25:47+02:00
acc: don't multiply seconds with 1000 for time mode 2
- it can go out of range for 32bit arch
---
Modified: modules/acc/acc.c
---
Diff: https://github.com/kamailio/kamailio/commit/0c6653bf1c3ee7b64e811bc752e03fa0... Patch: https://github.com/kamailio/kamailio/commit/0c6653bf1c3ee7b64e811bc752e03fa0...
---
diff --git a/modules/acc/acc.c b/modules/acc/acc.c index 7bf7dd7..430dca5 100644 --- a/modules/acc/acc.c +++ b/modules/acc/acc.c @@ -232,6 +232,7 @@ int acc_log_request( struct sip_msg *rq) int o; int i; struct tm *t; + double dtime;
/* get default values */ m = core2strar( rq, val_arr, int_arr, type_arr); @@ -290,12 +291,11 @@ int acc_log_request( struct sip_msg *rq) acc_time_exten.s, (unsigned int)acc_env.tv.tv_usec, log_msg); } else if(acc_time_mode==2) { + dtime = (double)acc_env.tv.tv_usec; + dtime = (dtime / 1000000) + (double)acc_env.tv.tv_sec; LM_GEN2(log_facility, log_level, "%.*stimestamp=%lu;%s=%.3f%s", acc_env.text.len, acc_env.text.s,(unsigned long)acc_env.ts, - acc_time_attr.s, - (((double)(acc_env.tv.tv_sec * 1000) - + (acc_env.tv.tv_usec / 1000)) / 1000), - log_msg); + acc_time_attr.s, dtime, log_msg); } else if(acc_time_mode==3 || acc_time_mode==4) { if(acc_time_mode==3) { t = localtime(&acc_env.ts);