diff --git a/rcl/src/rcl/node.c b/rcl/src/rcl/node.c index c8e956090..fe8a947fb 100644 --- a/rcl/src/rcl/node.c +++ b/rcl/src/rcl/node.c @@ -468,9 +468,10 @@ rcl_node_get_options(const rcl_node_t * node) rcl_ret_t rcl_node_get_domain_id(const rcl_node_t * node, size_t * domain_id) { - RCL_CHECK_ARGUMENT_FOR_NULL(node, RCL_RET_NODE_INVALID); + if (!rcl_node_is_valid(node)) { + return RCL_RET_NODE_INVALID; + } RCL_CHECK_ARGUMENT_FOR_NULL(domain_id, RCL_RET_INVALID_ARGUMENT); - RCL_CHECK_FOR_NULL_WITH_MSG(node->context, "invalid node", return RCL_RET_NODE_INVALID); rcl_ret_t ret = rcl_context_get_domain_id(node->context, domain_id); if (RCL_RET_OK != ret) { return ret; diff --git a/rcl/test/rcl/test_node.cpp b/rcl/test/rcl/test_node.cpp index 4453b9fcd..3ae5193ba 100644 --- a/rcl/test/rcl/test_node.cpp +++ b/rcl/test/rcl/test_node.cpp @@ -262,7 +262,7 @@ TEST_F(CLASSNAME(TestNodeFixture, RMW_IMPLEMENTATION), test_rcl_node_accessors) ASSERT_TRUE(rcl_error_is_set()); rcl_reset_error(); ret = rcl_node_get_domain_id(&invalid_node, &actual_domain_id); - EXPECT_EQ(RCL_RET_OK, ret); + EXPECT_EQ(RCL_RET_NODE_INVALID, ret); rcl_reset_error(); EXPECT_NO_MEMORY_OPERATIONS( {