Fix some return values
diff --git a/library/ssl_srv.c b/library/ssl_srv.c
index f8e1748..e3f604f 100644
--- a/library/ssl_srv.c
+++ b/library/ssl_srv.c
@@ -2106,10 +2106,13 @@
ecdsa_init( &ecdsa );
- ret = ecdsa_from_keypair( &ecdsa, ssl->pk_key->pk_ctx ) ||
- ecdsa_write_signature( &ecdsa, hash, hashlen,
- p + 2, &signature_len,
- ssl->f_rng, ssl->p_rng );
+ ret = ecdsa_from_keypair( &ecdsa, ssl->pk_key->pk_ctx );
+ if( ret == 0 )
+ {
+ ret = ecdsa_write_signature( &ecdsa, hash, hashlen,
+ p + 2, &signature_len,
+ ssl->f_rng, ssl->p_rng );
+ }
ecdsa_free( &ecdsa );