IXCobraConnection / pdu handlers can crash if they receive json data which is not an object
This commit is contained in:
parent
f9dc460325
commit
2defe6f597
@ -1,6 +1,10 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
|
|
||||||
|
## [6.0.1] - 2019-09-05
|
||||||
|
|
||||||
|
- IXCobraConnection / pdu handlers can crash if they receive json data which is not an object
|
||||||
|
|
||||||
## [6.0.0] - 2019-09-04
|
## [6.0.0] - 2019-09-04
|
||||||
|
|
||||||
- all client autobahn test should pass !
|
- all client autobahn test should pass !
|
||||||
|
@ -13,6 +13,7 @@
|
|||||||
#include <cmath>
|
#include <cmath>
|
||||||
#include <cassert>
|
#include <cassert>
|
||||||
#include <cstring>
|
#include <cstring>
|
||||||
|
#include <iostream>
|
||||||
|
|
||||||
|
|
||||||
namespace ix
|
namespace ix
|
||||||
@ -300,6 +301,8 @@ namespace ix
|
|||||||
//
|
//
|
||||||
bool CobraConnection::handleHandshakeResponse(const Json::Value& pdu)
|
bool CobraConnection::handleHandshakeResponse(const Json::Value& pdu)
|
||||||
{
|
{
|
||||||
|
if (!pdu.isObject()) return false;
|
||||||
|
|
||||||
if (!pdu.isMember("body")) return false;
|
if (!pdu.isMember("body")) return false;
|
||||||
Json::Value body = pdu["body"];
|
Json::Value body = pdu["body"];
|
||||||
|
|
||||||
@ -349,6 +352,8 @@ namespace ix
|
|||||||
|
|
||||||
bool CobraConnection::handleSubscriptionResponse(const Json::Value& pdu)
|
bool CobraConnection::handleSubscriptionResponse(const Json::Value& pdu)
|
||||||
{
|
{
|
||||||
|
if (!pdu.isObject()) return false;
|
||||||
|
|
||||||
if (!pdu.isMember("body")) return false;
|
if (!pdu.isMember("body")) return false;
|
||||||
Json::Value body = pdu["body"];
|
Json::Value body = pdu["body"];
|
||||||
|
|
||||||
@ -365,6 +370,8 @@ namespace ix
|
|||||||
|
|
||||||
bool CobraConnection::handleUnsubscriptionResponse(const Json::Value& pdu)
|
bool CobraConnection::handleUnsubscriptionResponse(const Json::Value& pdu)
|
||||||
{
|
{
|
||||||
|
if (!pdu.isObject()) return false;
|
||||||
|
|
||||||
if (!pdu.isMember("body")) return false;
|
if (!pdu.isMember("body")) return false;
|
||||||
Json::Value body = pdu["body"];
|
Json::Value body = pdu["body"];
|
||||||
|
|
||||||
@ -381,6 +388,8 @@ namespace ix
|
|||||||
|
|
||||||
bool CobraConnection::handleSubscriptionData(const Json::Value& pdu)
|
bool CobraConnection::handleSubscriptionData(const Json::Value& pdu)
|
||||||
{
|
{
|
||||||
|
if (!pdu.isObject()) return false;
|
||||||
|
|
||||||
if (!pdu.isMember("body")) return false;
|
if (!pdu.isMember("body")) return false;
|
||||||
Json::Value body = pdu["body"];
|
Json::Value body = pdu["body"];
|
||||||
|
|
||||||
@ -407,6 +416,8 @@ namespace ix
|
|||||||
|
|
||||||
bool CobraConnection::handlePublishResponse(const Json::Value& pdu)
|
bool CobraConnection::handlePublishResponse(const Json::Value& pdu)
|
||||||
{
|
{
|
||||||
|
if (!pdu.isObject()) return false;
|
||||||
|
|
||||||
if (!pdu.isMember("id")) return false;
|
if (!pdu.isMember("id")) return false;
|
||||||
Json::Value id = pdu["id"];
|
Json::Value id = pdu["id"];
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user