summaryrefslogtreecommitdiff
path: root/main
diff options
context:
space:
mode:
authorMatthew Jordan <mjordan@digium.com>2015-01-21 12:56:49 +0000
committerMatthew Jordan <mjordan@digium.com>2015-01-21 12:56:49 +0000
commit98c3983c893149420786070356c51e406504a617 (patch)
tree5511cf1d8c3524db3019a67bf1628acbdb30d836 /main
parenta7ba8a58a86235eaf88850df03b6865413525b4e (diff)
main/rtp_engine: Format NTP timestamps as unsigned longs
When the RTCP reports are created, the NTP timestamps are stored as strings, as JSON does not have an integer type long enough to store the value. However, on 32-bit systems, a signed long may overflow for some portion of the timestamp. This patch corrects the overflow by formatting the timestamps as unsigned longs. git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/13@430840 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'main')
-rw-r--r--main/rtp_engine.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/main/rtp_engine.c b/main/rtp_engine.c
index 920b3d3e1..11fe985cb 100644
--- a/main/rtp_engine.c
+++ b/main/rtp_engine.c
@@ -1947,8 +1947,8 @@ static struct ast_json *rtcp_report_to_json(struct stasis_message *msg,
if (payload->report->type == AST_RTP_RTCP_SR) {
char sec[32];
char usec[32];
- snprintf(sec, sizeof(sec), "%ld", payload->report->sender_information.ntp_timestamp.tv_sec);
- snprintf(usec, sizeof(usec), "%ld", payload->report->sender_information.ntp_timestamp.tv_usec);
+ snprintf(sec, sizeof(sec), "%lu", payload->report->sender_information.ntp_timestamp.tv_sec);
+ snprintf(usec, sizeof(usec), "%lu", payload->report->sender_information.ntp_timestamp.tv_usec);
json_rtcp_sender_info = ast_json_pack("{s: s, s: s, s: i, s: i, s: i}",
"ntp_timestamp_sec", sec,
"ntp_timestamp_usec", usec,