diff --git a/src/secp256k1.c b/src/secp256k1.c index 203f880af47..8ef16ac9a78 100644 --- a/src/secp256k1.c +++ b/src/secp256k1.c @@ -146,8 +146,11 @@ int secp256k1_ec_pubkey_parse(const secp256k1_context* ctx, secp256k1_pubkey* pu secp256k1_ge Q; (void)ctx; + VERIFY_CHECK(ctx != NULL); + ARG_CHECK(pubkey != NULL); + memset(pubkey, 0, sizeof(*pubkey)); + ARG_CHECK(input != NULL); if (!secp256k1_eckey_pubkey_parse(&Q, input, inputlen)) { - memset(pubkey, 0, sizeof(*pubkey)); return 0; } secp256k1_pubkey_save(pubkey, &Q); @@ -159,6 +162,10 @@ int secp256k1_ec_pubkey_serialize(const secp256k1_context* ctx, unsigned char *o secp256k1_ge Q; (void)ctx; + VERIFY_CHECK(ctx != NULL); + ARG_CHECK(output != NULL); + ARG_CHECK(outputlen != NULL); + ARG_CHECK(pubkey != NULL); return (secp256k1_pubkey_load(ctx, &Q, pubkey) && secp256k1_eckey_pubkey_serialize(&Q, output, outputlen, flags)); }