wincng.c: fixed possible memory leak in _libssh2_wincng_hash

If _libssh2_wincng_hash_update failed _libssh2_wincng_hash_final
would never have been called before.

Reported by Zenju.
diff --git a/src/wincng.c b/src/wincng.c
index 11dbbe3..6fa59d2 100755
--- a/src/wincng.c
+++ b/src/wincng.c
@@ -415,16 +415,15 @@
                      unsigned char *hash, unsigned long hashlen)
 {
     _libssh2_wincng_hash_ctx ctx;
+    int ret;
 
-    if (!_libssh2_wincng_hash_init(&ctx, hAlg, hashlen, NULL, 0)) {
-        if (!_libssh2_wincng_hash_update(&ctx, data, datalen)) {
-            if (!_libssh2_wincng_hash_final(&ctx, hash)) {
-                return 0;
-            }
-        }
+    ret = _libssh2_wincng_hash_init(&ctx, hAlg, hashlen, NULL, 0);
+    if (!ret) {
+        ret = _libssh2_wincng_hash_update(&ctx, data, datalen);
+        ret |= _libssh2_wincng_hash_final(&ctx, hash);
     }
 
-    return -1;
+    return ret;
 }