diff options
| author | Cy Schubert <cy@FreeBSD.org> | 2020-10-27 15:09:16 +0000 | 
|---|---|---|
| committer | Cy Schubert <cy@FreeBSD.org> | 2020-10-27 15:09:16 +0000 | 
| commit | 4cb89f2eee3bb358f0491932ab0498b5319f4229 (patch) | |
| tree | fc2691469564e7d7e552247f2b2c6e04dd7efb8a /dynlibmod/dynlibmod.c | |
| parent | 7973006f41cdaf144441d1a39f9f075053435e2f (diff) | |
Diffstat (limited to 'dynlibmod/dynlibmod.c')
| -rw-r--r-- | dynlibmod/dynlibmod.c | 5 | 
1 files changed, 5 insertions, 0 deletions
| diff --git a/dynlibmod/dynlibmod.c b/dynlibmod/dynlibmod.c index f9751d8c6f73..3bf9d1acb0b8 100644 --- a/dynlibmod/dynlibmod.c +++ b/dynlibmod/dynlibmod.c @@ -242,6 +242,10 @@ int  inplace_cb_register_wrapped(void* cb, enum inplace_cb_list_type type, void* cbarg,      struct module_env* env, int id) {      struct cb_pair* cb_pair = malloc(sizeof(struct cb_pair)); +    if(cb_pair == NULL) { +	log_err("dynlibmod[%d]: malloc failure", id); +        return 0; +    }      cb_pair->cb = cb;      cb_pair->cb_arg = cbarg;      if(type >= inplace_cb_reply && type <= inplace_cb_reply_servfail) { @@ -253,6 +257,7 @@ inplace_cb_register_wrapped(void* cb, enum inplace_cb_list_type type, void* cbar      } else if(type == inplace_cb_edns_back_parsed) {          return inplace_cb_register(&dynlib_inplace_cb_edns_back_parsed, type, (void*) cb_pair, env, id);      } else { +        free(cb_pair);          return 0;      }  } | 
