Fix incorrect return code on ECDSA key verification
authorAndrew Hoang <mail@andrewhoang.me>
Tue, 24 Dec 2019 04:19:24 +0000 (20:19 -0800)
committerNicola Tuveri <nic.tuv@gmail.com>
Sun, 5 Jan 2020 13:50:11 +0000 (15:50 +0200)
commit26583f6aa8dc28e3598e61db66e54e2fdf8b195f
tree55c50f222aa57e57348eb7893fd37e0b0068b04d
parent6e49b514067a2b6a30d064d2ae1fdfd8050c184b
Fix incorrect return code on ECDSA key verification

ECDSA_do_verify() is a function that verifies a ECDSA signature given a hash and a public EC key. The function is supposed to return 1 on valid signature, 0 on invalid signature and -1 on error. Previously, we returned 0 if the key did not have a verify_sig method. This is actually an error case and not an invalid signature. Consequently, this patch updates the return code to -1.

Fixes #8766

Reviewed-by: Nicola Tuveri <nic.tuv@gmail.com>
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Matthias St. Pierre <Matthias.St.Pierre@ncp-e.com>
(Merged from https://github.com/openssl/openssl/pull/10693)
crypto/ec/ecdsa_vrf.c