2021-09-06 13:51:14

by Colin King

[permalink] [raw]
Subject: [PATCH][next] ksmbd: add missing assignments to ret on ndr_read_int64 read calls

From: Colin Ian King <[email protected]>

Currently there are two ndr_read_int64 calls where ret is being checked
for failure but ret is not being assigned a return value from the call.
Static analyis is reporting the checks on ret as dead code. Fix this.

Addresses-Coverity: ("Logical dead code")
Fixes: 303fff2b8c77 ("ksmbd: add validation for ndr read/write functions")
Signed-off-by: Colin Ian King <[email protected]>
---
fs/ksmbd/ndr.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/fs/ksmbd/ndr.c b/fs/ksmbd/ndr.c
index a476de291f62..8317f7ca402b 100644
--- a/fs/ksmbd/ndr.c
+++ b/fs/ksmbd/ndr.c
@@ -275,11 +275,11 @@ int ndr_decode_dos_attr(struct ndr *n, struct xattr_dos_attrib *da)
if (ret)
return ret;

- ndr_read_int64(n, NULL);
+ ret = ndr_read_int64(n, NULL);
if (ret)
return ret;

- ndr_read_int64(n, NULL);
+ ret = ndr_read_int64(n, NULL);
if (ret)
return ret;

--
2.32.0


2021-09-06 23:44:16

by Namjae Jeon

[permalink] [raw]
Subject: Re: [PATCH][next] ksmbd: add missing assignments to ret on ndr_read_int64 read calls

2021-09-06 22:44 GMT+09:00, Colin King <[email protected]>:
> From: Colin Ian King <[email protected]>
>
> Currently there are two ndr_read_int64 calls where ret is being checked
> for failure but ret is not being assigned a return value from the call.
> Static analyis is reporting the checks on ret as dead code. Fix this.
>
> Addresses-Coverity: ("Logical dead code")
> Fixes: 303fff2b8c77 ("ksmbd: add validation for ndr read/write functions")
> Signed-off-by: Colin Ian King <[email protected]>
Applied it to my queue. I will send it to Steve after testing.
Thanks for your patch!

2021-09-07 00:09:45

by Sergey Senozhatsky

[permalink] [raw]
Subject: Re: [PATCH][next] ksmbd: add missing assignments to ret on ndr_read_int64 read calls

On (21/09/06 14:44), Colin King wrote:
[..]
> @@ -275,11 +275,11 @@ int ndr_decode_dos_attr(struct ndr *n, struct xattr_dos_attrib *da)
> if (ret)
> return ret;
>
> - ndr_read_int64(n, NULL);
> + ret = ndr_read_int64(n, NULL);
> if (ret)
> return ret;
>
> - ndr_read_int64(n, NULL);
> + ret = ndr_read_int64(n, NULL);
> if (ret)
> return ret;

A pretty nice catch by that static analyzer tool.

Reviewed-by: Sergey Senozhatsky <[email protected]>