mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-03 11:25:35 +00:00
various modules: json integer overflow
There were still a few places in the code that could overflow when "packing" a json object with a value outside the base type integer's range. For instance: unsigned int value = INT_MAX + 1 ast_json_pack("{s: i}", value); would result in a negative number being "packed". In those situations this patch alters those values to a ast_json_int_t, which widens the value up to a long or long long. ASTERISK-28480 Change-Id: Ied530780d83e6f1772adba0e28d8938ef30c49a1
This commit is contained in:
@@ -1076,9 +1076,9 @@ static void cc_publish_offertimerstart(int core_id, const char *caller, unsigned
|
||||
{
|
||||
struct ast_json *extras;
|
||||
|
||||
extras = ast_json_pack("{s: s, s: i}",
|
||||
extras = ast_json_pack("{s: s, s: I}",
|
||||
"caller", caller,
|
||||
"expires", expires);
|
||||
"expires", (ast_json_int_t)expires);
|
||||
|
||||
cc_publish(ast_cc_offertimerstart_type(), core_id, extras);
|
||||
ast_json_unref(extras);
|
||||
|
Reference in New Issue
Block a user