summaryrefslogtreecommitdiff
path: root/res/res_fax.c
diff options
context:
space:
mode:
authorRichard Mudgett <rmudgett@digium.com>2016-10-12 16:24:14 -0500
committerRichard Mudgett <rmudgett@digium.com>2016-10-13 18:13:00 -0500
commit9c49b96374a9f631c75fc9953f825126c883ff4d (patch)
treef43da7d9cbb3a457efcfdd1e168587d97e9ad4c7 /res/res_fax.c
parent774d5f7ef78f85a17c31c9dfbe51a96477d34940 (diff)
Audit ast_json_pack() calls for needed UTF-8 checks.
Added needed UTF-8 checks before constructing json objects in various files for strings obtained outside the system. In this case string values from a channel driver's peer and not from the user setting channel variables. * aoc.c: Fixed type mismatch in s_to_json() for time and granularity json object construction. ASTERISK-26466 Reported by: Richard Mudgett Change-Id: Iac2d867fa598daba5c5dbc619b5464625a7f2096
Diffstat (limited to 'res/res_fax.c')
-rw-r--r--res/res_fax.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/res/res_fax.c b/res/res_fax.c
index b97f3eb29..f602ba965 100644
--- a/res/res_fax.c
+++ b/res/res_fax.c
@@ -1415,11 +1415,13 @@ static int report_fax_status(struct ast_channel *chan, struct ast_fax_session_de
}
json_object = ast_json_pack("{s: s, s: s, s: s, s: s, s: o}",
- "type", "status",
- "operation", (details->caps & AST_FAX_TECH_GATEWAY) ? "gateway" : (details->caps & AST_FAX_TECH_RECEIVE) ? "receive" : "send",
- "status", status,
- "local_station_id", details->localstationid,
- "filenames", json_filenames);
+ "type", "status",
+ "operation", (details->caps & AST_FAX_TECH_GATEWAY)
+ ? "gateway"
+ : (details->caps & AST_FAX_TECH_RECEIVE) ? "receive" : "send",
+ "status", status,
+ "local_station_id", AST_JSON_UTF8_VALIDATE(details->localstationid),
+ "filenames", json_filenames);
if (!json_object) {
return -1;
}