[PATCH 2/3] secret: config: Don't leak 'cfg->secretsEncryptionKey'

Peter Krempa via Devel posted 3 patches 1 week ago
[PATCH 2/3] secret: config: Don't leak 'cfg->secretsEncryptionKey'
Posted by Peter Krempa via Devel 1 week ago
From: Peter Krempa <pkrempa@redhat.com>

 ==2413993== 8,193 bytes in 1 blocks are definitely lost in loss record 4,201 of 4,225
 ==2413993==    at 0x48FC897: realloc (vg_replace_malloc.c:1804)
 ==2413993==    by 0x4ED0B0A: g_realloc (in /usr/lib64/libglib-2.0.so.0.8600.4)
 ==2413993==    by 0x494112B: virReallocN (viralloc.c:52)
 ==2413993==    by 0x49684F6: saferead_lim (virfile.c:1511)
 ==2413993==    by 0x4968C8B: virFileReadLimFD (virfile.c:1587)
 ==2413993==    by 0x4968D2C: virFileReadAll (virfile.c:1613)
 ==2413993==    by 0xC2CC488: virGetSecretsEncryptionKey (secret_config.c:93)
 ==2413993==    by 0xC2CC488: virSecretDaemonConfigNew (secret_config.c:162)
 ==2413993==    by 0xC2CADFD: secretStateInitialize (secret_driver.c:533)
 ==2413993==    by 0x4BABC76: virStateInitialize (libvirt.c:667)
 ==2413993==    by 0x40148D4: daemonRunStateInit (remote_daemon.c:583)
 ==2413993==    by 0x49BB8A5: virThreadHelper (virthread.c:256)
 ==2413993==    by 0x52DD463: start_thread (in /usr/lib64/libc.so.6)

Fixes: 1c86748cf140a8710d6d8ec3ab3a2bd10ceeac67
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
---
 src/secret/secret_config.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/secret/secret_config.c b/src/secret/secret_config.c
index 84514ac5d5..01db4bbe33 100644
--- a/src/secret/secret_config.c
+++ b/src/secret/secret_config.c
@@ -175,5 +175,6 @@ virSecretDaemonConfigDispose(void *obj)
     virSecretDaemonConfig *cfg = obj;

     virSecureErase(cfg->secretsEncryptionKey, cfg->secretsKeyLen);
+    g_free(cfg->secretsEncryptionKey);
     g_free(cfg->secretsEncryptionKeyPath);
 }
-- 
2.53.0