]> git.ipfire.org Git - thirdparty/gnutls.git/commitdiff
bugfixes in gcrypt md functions handling
authorNikos Mavrogiannopoulos <nmav@gnutls.org>
Tue, 10 Oct 2000 16:25:07 +0000 (16:25 +0000)
committerNikos Mavrogiannopoulos <nmav@gnutls.org>
Tue, 10 Oct 2000 16:25:07 +0000 (16:25 +0000)
lib/gnutls_hash.c

index 3b1dcb068e7923a3c2f2d72f2f935c6cb10d509e..9810480a0b0b776baefc9c0b29f69e19d7613408 100644 (file)
@@ -71,14 +71,19 @@ int gnutls_hash(GNUTLS_HASH_HANDLE handle, void* text, int textlen) {
 }
 
 void* gnutls_hash_deinit(GNUTLS_HASH_HANDLE handle) {
-void* mac;
+char* mac;
 int maclen;
+char* ret;
 
     maclen = gcry_md_get_algo_dlen(gcry_md_get_algo(handle));
+    ret = gnutls_malloc(maclen);
+    
+    gcry_md_final(handle);
     mac = gcry_md_read(handle,0);
+    memmove( ret, mac, maclen);
     gcry_md_close(handle);
     
-    return mac;
+    return ret;
 }
 
 
@@ -134,13 +139,18 @@ int gnutls_hmac(GNUTLS_MAC_HANDLE handle, void* text, int textlen) {
 }
 
 void* gnutls_hmac_deinit(GNUTLS_MAC_HANDLE handle) {
-void* mac;
+char* mac;
 int maclen;
+char* ret;
 
     maclen = gcry_md_get_algo_dlen(gcry_md_get_algo(handle));
+    ret = gnutls_malloc( maclen);
+    
+    gcry_md_final(handle);
     mac = gcry_md_read(handle,0);
+    memmove( ret, mac, maclen);
     gcry_md_close(handle);
     
-    return mac;
+    return ret;
 }