diff options
-rw-r--r-- | thunk.h | 9 |
1 files changed, 7 insertions, 2 deletions
@@ -21,6 +21,7 @@ #include <assert.h> #include <stdlib.h> +#include <string.h> typedef struct thunk_t thunk_t; @@ -488,8 +489,10 @@ struct thunk_t { env = malloc(sizeof(*env) + payload_size); \ assert(env); \ \ - if (payload_ptr) \ + if (payload_ptr) { \ + memset(env->__payload, 0, payload_size); \ *payload_ptr = env->__payload; \ + } \ \ env->__thunk.dispatch = __thunk_dispatch_##_name; \ \ @@ -566,8 +569,10 @@ struct thunk_t { env = malloc(sizeof(*env) + payload_size); \ assert(env); \ \ - if (payload_ptr) \ + if (payload_ptr) { \ + memset(env->__payload, 0, payload_size); \ *payload_ptr = env->__payload; \ + } \ \ env->__thunk.dispatch = __thunk_dispatch_##_name; \ \ |