Skip to content

Fix memory leak json_value

the-very requested to merge github/fork/Neargye/fix_memory_leak_json_value into master

Created by: Neargye

Hi,

If the obj is not null, you check the json_value, if null creat new, if not null call SetObject().

if (!obj) {
  json_value = new rapidjson::Value();
  return;
}
if (!json_value) {
  json_value = new rapidjson::Value(rapidjson::kObjectType);
} else {
  json_value->SetObject();
}

But if obj null, and json_value not null, possible memory leak, because are creating a new.

if (!obj) {
  json_value = new rapidjson::Value();
  return;
}

I suggest adding a json_value check to prevent the possibility memory leak.

if (!obj) {
  if (!json_value) {
    json_value = new rapidjson::Value();
  } else {
    json_value->SetNull();
  }
return;
}

Merge request reports