Skip to content

Commit

Permalink
Check if pointers are null before calling memset (#290)
Browse files Browse the repository at this point in the history
  • Loading branch information
sloretz authored Aug 31, 2018
1 parent ceff88b commit 955c0c9
Showing 1 changed file with 15 additions and 11 deletions.
26 changes: 15 additions & 11 deletions rcl/src/rcl/wait.c
Original file line number Diff line number Diff line change
Expand Up @@ -211,21 +211,25 @@ rcl_wait_set_get_allocator(const rcl_wait_set_t * wait_set, rcl_allocator_t * al

#define SET_CLEAR(Type) \
do { \
memset( \
(void *)wait_set->Type ## s, \
0, \
sizeof(rcl_ ## Type ## _t *) * wait_set->size_of_ ## Type ## s); \
wait_set->impl->Type ## _index = 0; \
if (NULL != wait_set->Type ## s) { \
memset( \
(void *)wait_set->Type ## s, \
0, \
sizeof(rcl_ ## Type ## _t *) * wait_set->size_of_ ## Type ## s); \
wait_set->impl->Type ## _index = 0; \
} \
} while (false)

#define SET_CLEAR_RMW(Type, RMWStorage, RMWCount) \
do { \
/* Also clear the rmw storage. */ \
memset( \
wait_set->impl->RMWStorage, \
0, \
sizeof(void *) * wait_set->impl->RMWCount); \
wait_set->impl->RMWCount = 0; \
if (NULL != wait_set->impl->RMWStorage) { \
/* Also clear the rmw storage. */ \
memset( \
wait_set->impl->RMWStorage, \
0, \
sizeof(void *) * wait_set->impl->RMWCount); \
wait_set->impl->RMWCount = 0; \
} \
} while (false)

#define SET_RESIZE(Type, ExtraDealloc, ExtraRealloc) \
Expand Down

0 comments on commit 955c0c9

Please sign in to comment.