Skip to content

Commit

Permalink
Add defensive checks while parsing rabbitmq messages
Browse files Browse the repository at this point in the history
Change-Id: Icac52b6221c88eecc4b4a767f07a680df16451c1
Related-Bug: 1664753
  • Loading branch information
Sachin Bansal committed Feb 25, 2017
1 parent 9c16b50 commit 3d6d1b6
Showing 1 changed file with 7 additions and 2 deletions.
9 changes: 7 additions & 2 deletions src/ifmap/client/config_amqp_client.cc
Expand Up @@ -200,12 +200,17 @@ bool ConfigAmqpClient::ProcessMessage(const string &json_message) {
obj_type = itr->value.GetString();
} else if (key == "obj_dict") {
ostringstream os;
if (!itr->value.HasMember("fq_name"))
continue;
if (!itr->value["fq_name"].IsArray())
continue;
size_t sz = itr->value["fq_name"].GetArray().Size();
for (size_t i=0; i<sz; i++) {
if (!itr->value["fq_name"][SizeType(i)].IsString())
continue;
os << itr->value["fq_name"][SizeType(i)].GetString();
if (i < sz-1) {
if (i < sz-1)
os << ":";
}
}
obj_name = os.str();
} else if (key == "uuid") {
Expand Down

0 comments on commit 3d6d1b6

Please sign in to comment.