[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 1/3] crypto/luks: Initialize stack variable to silence warning
From: |
Daniel Xu |
Subject: |
[PATCH v2 1/3] crypto/luks: Initialize stack variable to silence warning |
Date: |
Tue, 28 Feb 2023 11:50:34 -0700 |
With `../configure --enable-sanitizers`, I was getting the following
build error:
In file included from /usr/include/string.h:535,
from /home/dxu/dev/qemu/include/qemu/osdep.h:99,
from ../crypto/block-luks.c:21:
In function ‘memset’,
inlined from ‘qcrypto_block_luks_store_key’ at
../crypto/block-luks.c:843:9:
/usr/include/bits/string_fortified.h:59:10: error: ‘splitkeylen’ may be
used
uninitialized [-Werror=maybe-uninitialized]
59 | return __builtin___memset_chk (__dest, __ch, __len,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
60 | __glibc_objsize0 (__dest));
| ~~~~~~~~~~~~~~~~~~~~~~~~~~
../crypto/block-luks.c: In function ‘qcrypto_block_luks_store_key’:
../crypto/block-luks.c:699:12: note: ‘splitkeylen’ was declared here
699 | size_t splitkeylen;
| ^~~~~~~~~~~
cc1: all warnings being treated as errors
The function is actually correct -- in the cleanup branch `splitkeylen`
usage is guarded by checking `splitkey` nullness. But the compiler is
not smart enough to realize that.
Fix warning by initializing the variable.
Signed-off-by: Daniel Xu <dxu@dxuuu.xyz>
---
crypto/block-luks.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/crypto/block-luks.c b/crypto/block-luks.c
index 5688783ab1..bfdef25c80 100644
--- a/crypto/block-luks.c
+++ b/crypto/block-luks.c
@@ -696,7 +696,7 @@ qcrypto_block_luks_store_key(QCryptoBlock *block,
QCryptoBlockLUKS *luks = block->opaque;
QCryptoBlockLUKSKeySlot *slot;
g_autofree uint8_t *splitkey = NULL;
- size_t splitkeylen;
+ size_t splitkeylen = 0;
g_autofree uint8_t *slotkey = NULL;
g_autoptr(QCryptoCipher) cipher = NULL;
g_autoptr(QCryptoIVGen) ivgen = NULL;
--
2.39.1