diff --git a/src/crypto.cpp b/src/crypto.cpp
index ec3ce32107e4d5a8e73d1950fc85eaaf96184a43..2d292ca78831c976bf828c39281acde1eec72c25 100644
--- a/src/crypto.cpp
+++ b/src/crypto.cpp
@@ -988,6 +988,7 @@ RevocationList::pack(Blob& b) const
         throw CryptoException(std::string("Can't export CRL: ") + gnutls_strerror(err));
     }
     b.insert(b.end(), gdat.data, gdat.data + gdat.size);
+    gnutls_free(gdat.data);
 }
 
 void