fix
[oweals/gnunet.git] / src / util / crypto_hash.c
index 2217e622367da5bdf976ee1f809e68206f15068b..ab6fc28cfcb35e1c46c5673e1999e44122b5a3b3 100644 (file)
@@ -127,6 +127,7 @@ file_hash_finish (struct GNUNET_CRYPTO_FileHashContext *fhc,
   GNUNET_free (fhc->filename);
   if (!GNUNET_DISK_handle_invalid (fhc->fh))
     GNUNET_break (GNUNET_OK == GNUNET_DISK_file_close (fhc->fh));
+  gcry_md_close (fhc->md);
   GNUNET_free (fhc);            /* also frees fhc->buffer */
 }
 
@@ -162,7 +163,6 @@ file_hash_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
     {
       res = (GNUNET_HashCode *) gcry_md_read (fhc->md, GCRY_MD_SHA512);
       file_hash_finish (fhc, res);
-      gcry_md_close (fhc->md);
       return;
     }
   fhc->task