Check for nullptr.

Sometimes dds_qget_userdata() returns true with a nullptr. It might be a good idea
to revise its implementation.
This commit is contained in:
Juan Oxoby 2019-06-14 19:11:48 -07:00 committed by eboasson
parent bc9beb77f9
commit 7acc5f3222

View file

@ -1585,7 +1585,7 @@ static rmw_ret_t do_for_node_user_data (std::function<bool (const dds_builtintop
auto f = [oper](const dds_builtintopic_participant_t& sample) -> bool {
void *ud;
size_t udsz;
if (dds_qget_userdata (sample.qos, &ud, &udsz)) {
if (dds_qget_userdata (sample.qos, &ud, &udsz) && ud != nullptr) {
/* CycloneDDS guarantees a null-terminated user data so we pretend it's a
string */
bool ret = oper (sample, static_cast<char *> (ud));