Bug #4445 » verify_cb.diff
ext/openssl/ossl.c | ||
---|---|---|
args.proc = proc;
|
||
args.preverify_ok = ok ? Qtrue : Qfalse;
|
||
args.store_ctx = rctx;
|
||
ret = rb_ensure(ossl_call_verify_cb_proc, (VALUE)&args,
|
||
ossl_x509stctx_clear_ptr, rctx);
|
||
ret = rb_protect((VALUE(*)(VALUE))ossl_call_verify_cb_proc,
|
||
(VALUE)&args, &state);
|
||
ossl_x509stctx_clear_ptr(rctx);
|
||
}
|
||
if (ret == Qtrue) {
|
||
if (ret == Qtrue && !state) {
|
||
X509_STORE_CTX_set_error(ctx, X509_V_OK);
|
||
ok = 1;
|
||
}
|