diff options
author | dec05eba <dec05eba@protonmail.com> | 2020-09-27 09:46:29 +0200 |
---|---|---|
committer | dec05eba <dec05eba@protonmail.com> | 2020-09-27 09:46:29 +0200 |
commit | b07cca0bb59300fe193015f1a8361448af72d05b (patch) | |
tree | e89f0b12e84a2a1cfa2faed918e7aea83f37e95d /src/plugins/Matrix.cpp | |
parent | 4f89aee77ede589002ab75490fa1ab2a3ca3fe84 (diff) |
Validate json type after parsing
Diffstat (limited to 'src/plugins/Matrix.cpp')
-rw-r--r-- | src/plugins/Matrix.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/plugins/Matrix.cpp b/src/plugins/Matrix.cpp index 71e451d..3ce6ffd 100644 --- a/src/plugins/Matrix.cpp +++ b/src/plugins/Matrix.cpp @@ -572,7 +572,7 @@ namespace QuickMedia { { "-H", "Authorization: Bearer " + access_token } }; - std::string filter = url_param_encode(Json::writeString(builder, request_data)); + std::string filter = url_param_encode(Json::writeString(builder, std::move(request_data))); char url[512]; snprintf(url, sizeof(url), "%s/_matrix/client/r0/rooms/%s/messages?from=%s&limit=20&dir=b&filter=%s", homeserver.c_str(), room_id.c_str(), from.c_str(), filter.c_str()); @@ -704,7 +704,7 @@ namespace QuickMedia { { "-X", "PUT" }, { "-H", "content-type: application/json" }, { "-H", "Authorization: Bearer " + access_token }, - { "--data-binary", Json::writeString(builder, request_data) } + { "--data-binary", Json::writeString(builder, std::move(request_data)) } }; char request_url[512]; @@ -874,7 +874,7 @@ namespace QuickMedia { std::vector<CommandArg> additional_args = { { "-X", "POST" }, { "-H", "content-type: application/json" }, - { "--data-binary", Json::writeString(builder, request_data) } + { "--data-binary", Json::writeString(builder, std::move(request_data)) } }; std::string server_response; @@ -956,6 +956,9 @@ namespace QuickMedia { return PluginResult::ERR; } + if(!json_root.isObject()) + return PluginResult::ERR; + const Json::Value &user_id_json = json_root["user_id"]; if(!user_id_json.isString()) { fprintf(stderr, "Failed to parse matrix cached session response\n"); |