]> xenbits.xensource.com Git - libvirt.git/commitdiff
virCryptoEncryptDataAESgnutls: Use virSecureErase instead of memset
authorPeter Krempa <pkrempa@redhat.com>
Tue, 2 Feb 2021 14:44:55 +0000 (15:44 +0100)
committerPeter Krempa <pkrempa@redhat.com>
Wed, 3 Feb 2021 12:07:13 +0000 (13:07 +0100)
Clear the key and IV structs using virSecureErase.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
src/util/vircrypto.c

index d2a42d83e254370c3e3c92a1de8927968e1515e3..78689721c30ac2904ccaec41bf7f73daa63eacc4 100644 (file)
@@ -193,8 +193,8 @@ virCryptoEncryptDataAESgnutls(gnutls_cipher_algorithm_t gnutls_enc_alg,
     /* Encrypt the data and free the memory for cipher operations */
     rc = gnutls_cipher_encrypt(handle, ciphertext, ciphertextlen);
     gnutls_cipher_deinit(handle);
-    memset(&enc_key, 0, sizeof(gnutls_datum_t));
-    memset(&iv_buf, 0, sizeof(gnutls_datum_t));
+    virSecureErase(&enc_key, sizeof(gnutls_datum_t));
+    virSecureErase(&iv_buf, sizeof(gnutls_datum_t));
     if (rc < 0) {
         virReportError(VIR_ERR_INTERNAL_ERROR,
                        _("failed to encrypt the data: '%s'"),
@@ -209,8 +209,8 @@ virCryptoEncryptDataAESgnutls(gnutls_cipher_algorithm_t gnutls_enc_alg,
  error:
     virSecureErase(ciphertext, ciphertextlen);
     g_free(ciphertext);
-    memset(&enc_key, 0, sizeof(gnutls_datum_t));
-    memset(&iv_buf, 0, sizeof(gnutls_datum_t));
+    virSecureErase(&enc_key, sizeof(gnutls_datum_t));
+    virSecureErase(&iv_buf, sizeof(gnutls_datum_t));
     return -1;
 }