diff --git a/src/sofa/pbrpc/pbjson.cc b/src/sofa/pbrpc/pbjson.cc index 341a907..141c6e3 100644 --- a/src/sofa/pbrpc/pbjson.cc +++ b/src/sofa/pbrpc/pbjson.cc @@ -267,6 +267,11 @@ static rapidjson::Value* parse_msg(const Message *msg, rapidjson::Value::Allocat else { rapidjson::Value* field_json = field2json(msg, field, allocator); + if (!field_json) + { + delete root; + return NULL; + } root->AddMember(name, *field_json, allocator); delete field_json; }