diff --git a/include/secp256k1.h b/include/secp256k1.h index de6a479e24..07a77bf7b7 100644 --- a/include/secp256k1.h +++ b/include/secp256k1.h @@ -160,7 +160,7 @@ secp256k1_context_t* secp256k1_context_clone( */ void secp256k1_context_destroy( secp256k1_context_t* ctx -) SECP256K1_ARG_NONNULL(1); +); /** Set a callback function to be called when an illegal argument is passed to * an API call. It will only trigger for violations that are mentioned diff --git a/src/secp256k1.c b/src/secp256k1.c index 3baaddae31..133ab9bbfb 100644 --- a/src/secp256k1.c +++ b/src/secp256k1.c @@ -85,6 +85,9 @@ secp256k1_context_t* secp256k1_context_clone(const secp256k1_context_t* ctx) { } void secp256k1_context_destroy(secp256k1_context_t* ctx) { + if (!ctx) + return; + secp256k1_ecmult_context_clear(&ctx->ecmult_ctx); secp256k1_ecmult_gen_context_clear(&ctx->ecmult_gen_ctx);