Skip to content

Commit 6095a86

Browse files
Replace CHECKs for no_precomp ctx by ARG_CHECKs without a return
1 parent 6c36de7 commit 6095a86

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

src/secp256k1.c

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,12 @@
2727
} \
2828
} while(0)
2929

30+
#define ARG_CHECK_NO_RETURN(cond) do { \
31+
if (EXPECT(!(cond), 0)) { \
32+
secp256k1_callback_call(&ctx->illegal_callback, #cond); \
33+
} \
34+
} while(0)
35+
3036
static void default_illegal_callback_fn(const char* str, void* data) {
3137
(void)data;
3238
fprintf(stderr, "[libsecp256k1] illegal argument: %s\n", str);
@@ -162,7 +168,7 @@ secp256k1_context* secp256k1_context_clone(const secp256k1_context* ctx) {
162168
}
163169

164170
void secp256k1_context_preallocated_destroy(secp256k1_context* ctx) {
165-
CHECK(ctx != secp256k1_context_no_precomp);
171+
ARG_CHECK_NO_RETURN(ctx != secp256k1_context_no_precomp);
166172
if (ctx != NULL) {
167173
secp256k1_ecmult_context_clear(&ctx->ecmult_ctx);
168174
secp256k1_ecmult_gen_context_clear(&ctx->ecmult_gen_ctx);
@@ -177,7 +183,7 @@ void secp256k1_context_destroy(secp256k1_context* ctx) {
177183
}
178184

179185
void secp256k1_context_set_illegal_callback(secp256k1_context* ctx, void (*fun)(const char* message, void* data), const void* data) {
180-
CHECK(ctx != secp256k1_context_no_precomp);
186+
ARG_CHECK_NO_RETURN(ctx != secp256k1_context_no_precomp);
181187
if (fun == NULL) {
182188
fun = default_illegal_callback_fn;
183189
}
@@ -186,7 +192,7 @@ void secp256k1_context_set_illegal_callback(secp256k1_context* ctx, void (*fun)(
186192
}
187193

188194
void secp256k1_context_set_error_callback(secp256k1_context* ctx, void (*fun)(const char* message, void* data), const void* data) {
189-
CHECK(ctx != secp256k1_context_no_precomp);
195+
ARG_CHECK_NO_RETURN(ctx != secp256k1_context_no_precomp);
190196
if (fun == NULL) {
191197
fun = default_error_callback_fn;
192198
}

0 commit comments

Comments
 (0)