openssl: fix memleak in _libssh2_dsa_sha1_verify()
diff --git a/src/openssl.c b/src/openssl.c
index c1555db..d40c778 100644
--- a/src/openssl.c
+++ b/src/openssl.c
@@ -154,17 +154,17 @@
 {
     unsigned char hash[SHA_DIGEST_LENGTH];
     DSA_SIG dsasig;
-    int ret;
+    int ret = -1;
 
     dsasig.r = BN_new();
     BN_bin2bn(sig, 20, dsasig.r);
     dsasig.s = BN_new();
     BN_bin2bn(sig + 20, 20, dsasig.s);
 
-    if (_libssh2_sha1(m, m_len, hash))
-        return -1;
+    if (!_libssh2_sha1(m, m_len, hash))
+        /* _libssh2_sha1() succeeded */
+        ret = DSA_do_verify(hash, SHA_DIGEST_LENGTH, &dsasig, dsactx);
 
-    ret = DSA_do_verify(hash, SHA_DIGEST_LENGTH, &dsasig, dsactx);
     BN_clear_free(dsasig.s);
     BN_clear_free(dsasig.r);