Skip to content

Commit

Permalink
Fix that not to delete some objects after destroying functions
Browse files Browse the repository at this point in the history
Signed-off-by: Chen.Lihui <lihui.chen@sony.com>
  • Loading branch information
Chen.Lihui committed Sep 4, 2020
1 parent a07553e commit 4fc5de7
Showing 1 changed file with 8 additions and 0 deletions.
8 changes: 8 additions & 0 deletions rmw_cyclonedds_cpp/src/rmw_node.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3819,6 +3819,8 @@ static rmw_ret_t rmw_init_cs(
fail_subtopic:
dds_delete(pubtopic);
fail_pubtopic:
delete sub;
delete pub;
return RMW_RET_ERROR;
}

Expand All @@ -3827,6 +3829,8 @@ static void rmw_fini_cs(CddsCS * cs)
dds_delete(cs->sub->rdcondh);
dds_delete(cs->sub->enth);
dds_delete(cs->pub->enth);
delete cs->sub;
delete cs->pub;
}

static rmw_ret_t destroy_client(const rmw_node_t * node, rmw_client_t * client)
Expand Down Expand Up @@ -3859,6 +3863,7 @@ static rmw_ret_t destroy_client(const rmw_node_t * node, rmw_client_t * client)
}

rmw_fini_cs(&info->client);
delete info;
rmw_free(const_cast<char *>(client->service_name));
rmw_client_free(client);
return RMW_RET_OK;
Expand Down Expand Up @@ -3915,6 +3920,7 @@ extern "C" rmw_client_t * rmw_create_client(
rmw_client_free(rmw_client);
fail_client:
rmw_fini_cs(&info->client);
delete info;
return nullptr;
}

Expand Down Expand Up @@ -3953,6 +3959,7 @@ static rmw_ret_t destroy_service(const rmw_node_t * node, rmw_service_t * servic
}

rmw_fini_cs(&info->service);
delete info;
rmw_free(const_cast<char *>(service->service_name));
rmw_service_free(service);
return RMW_RET_OK;
Expand Down Expand Up @@ -4007,6 +4014,7 @@ extern "C" rmw_service_t * rmw_create_service(
rmw_service_free(rmw_service);
fail_service:
rmw_fini_cs(&info->service);
delete info;
return nullptr;
}

Expand Down

0 comments on commit 4fc5de7

Please sign in to comment.