mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-12 15:45:18 +00:00
rtp_engine: rtcp_report_to_json can overflow the ssrc integer value
When writing an RTCP report to json the code attempts to pack the "ssrc" and "source_ssrc" unsigned integer values as a signed int value type. This of course means if the ssrc's unsigned value is greater than that which can fit into a signed integer value it gets converted to a negative number. Subsequently, the negative value goes out in the json report. This patch now packs the value as a json_int_t, which is the widest integer type available on a given system. This should make it so the value no longer overflows. Note, this was caught by two failing tests hep/rtcp-receiver/ and hep/rtcp-sender. Change-Id: I2af275286ee5e795b79f0c3d450d9e4b28e958b0
This commit is contained in:
committed by
Corey Farrell
parent
dec6ebd9e1
commit
755febe497
@@ -6,6 +6,9 @@
|
||||
|
||||
#include "asterisk/buildopts.h" /* IWYU pragma: export */
|
||||
|
||||
/* Define to 'long' or 'long long' */
|
||||
#undef AST_JSON_INT_T
|
||||
|
||||
/* Define to 1 if internal poll should be used. */
|
||||
#undef AST_POLL_COMPAT
|
||||
|
||||
|
@@ -81,6 +81,11 @@
|
||||
|
||||
/*!@{*/
|
||||
|
||||
/*!
|
||||
* \brief Primarily used to cast when packing to an "I" type.
|
||||
*/
|
||||
typedef AST_JSON_INT_T ast_json_int_t;
|
||||
|
||||
/*!
|
||||
* \brief Initialize the JSON library.
|
||||
*/
|
||||
|
Reference in New Issue
Block a user