security/lockdown/lockdown.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
From: Tanya Agarwal <tanyaagarwal25699@gmail.com>
The static code analysis tool "Coverity Scan" pointed the following
details out for further development considerations:
CID 1486102: Uninitialized scalar variable (UNINIT)
uninit_use_in_call: Using uninitialized value *temp when calling
strlen.
Conclusion:
Initialize array before use in lockdown_read() to satisfy the static
analyzer.
Fixes: 000d388ed3bb ("security: Add a static lockdown policy LSM")
Signed-off-by: Tanya Agarwal <tanyaagarwal25699@gmail.com>
---
V2: add Fixes tag and reword commit description
V3: use "" initialization instead of {}
Coverity Link:
https://scan7.scan.coverity.com/#/project-view/52849/11354?selectedIssue=1486102
security/lockdown/lockdown.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/security/lockdown/lockdown.c b/security/lockdown/lockdown.c
index f2bdbd55aa2b..cf83afa1d879 100644
--- a/security/lockdown/lockdown.c
+++ b/security/lockdown/lockdown.c
@@ -96,7 +96,7 @@ static int __init lockdown_lsm_init(void)
static ssize_t lockdown_read(struct file *filp, char __user *buf, size_t count,
loff_t *ppos)
{
- char temp[80];
+ char temp[80] = "";
int i, offset = 0;
for (i = 0; i < ARRAY_SIZE(lockdown_levels); i++) {
--
2.39.5
On Jan 5, 2025 Tanya Agarwal <tanyaagarwal25699@gmail.com> wrote:
>
> The static code analysis tool "Coverity Scan" pointed the following
> details out for further development considerations:
> CID 1486102: Uninitialized scalar variable (UNINIT)
> uninit_use_in_call: Using uninitialized value *temp when calling
> strlen.
>
> Conclusion:
> Initialize array before use in lockdown_read() to satisfy the static
> analyzer.
>
> Fixes: 000d388ed3bb ("security: Add a static lockdown policy LSM")
> Signed-off-by: Tanya Agarwal <tanyaagarwal25699@gmail.com>
I removed the 'Fixes:' tag as the code isn't actually broken as we
discussed in previous iterations of this patch. I also edited the
subject line and commit description a bit, but otherwise this is
fine. Merged into lsm/dev.
--
paul-moore.com
On Sun, Jan 5, 2025 at 11:18 PM Paul Moore <paul@paul-moore.com> wrote:
>
> On Jan 5, 2025 Tanya Agarwal <tanyaagarwal25699@gmail.com> wrote:
> >
> > The static code analysis tool "Coverity Scan" pointed the following
> > details out for further development considerations:
> > CID 1486102: Uninitialized scalar variable (UNINIT)
> > uninit_use_in_call: Using uninitialized value *temp when calling
> > strlen.
> >
> > Conclusion:
> > Initialize array before use in lockdown_read() to satisfy the static
> > analyzer.
> >
> > Fixes: 000d388ed3bb ("security: Add a static lockdown policy LSM")
> > Signed-off-by: Tanya Agarwal <tanyaagarwal25699@gmail.com>
>
> I removed the 'Fixes:' tag as the code isn't actually broken as we
> discussed in previous iterations of this patch. I also edited the
> subject line and commit description a bit, but otherwise this is
> fine. Merged into lsm/dev.
>
> --
> paul-moore.com
Thank you, Paul.
Regards,
Tanya
Hi Tanya,
On Sun, Jan 05, 2025 at 12:35:38PM +0530, Tanya Agarwal wrote:
> From: Tanya Agarwal <tanyaagarwal25699@gmail.com>
>
> The static code analysis tool "Coverity Scan" pointed the following
> details out for further development considerations:
> CID 1486102: Uninitialized scalar variable (UNINIT)
> uninit_use_in_call: Using uninitialized value *temp when calling
> strlen.
>
> Conclusion:
> Initialize array before use in lockdown_read() to satisfy the static
> analyzer.
>
> Fixes: 000d388ed3bb ("security: Add a static lockdown policy LSM")
> Signed-off-by: Tanya Agarwal <tanyaagarwal25699@gmail.com>
I don't believe this is a real bug. The lockdown_reasons array is a
non-empty constant, so temp is guaranteed to be written to by sprintf
before being passed to strlen.
When submitting patches in the future, could you also include an
analysis of the conditions that might lead to the bug, along with the
coverity scan report?
Regards,
Kuan-Wei
© 2016 - 2026 Red Hat, Inc.