2023-09-20 13:27:39

by Edward AD

[permalink] [raw]
Subject: [PATCH] unicode: add s_encoding null ptr check in utf8ncursor

When init struct utf8cursor *u8c in utf8ncursor(), we need check um is
valid.

Reported-and-tested-by: [email protected]
Fixes: b81427939590 ("ext4: remove redundant checks of s_encoding")
Signed-off-by: Edward AD <[email protected]>
---
fs/unicode/utf8-norm.c | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/fs/unicode/utf8-norm.c b/fs/unicode/utf8-norm.c
index 768f8ab448b8..906b639b2f38 100644
--- a/fs/unicode/utf8-norm.c
+++ b/fs/unicode/utf8-norm.c
@@ -422,6 +422,10 @@ int utf8ncursor(struct utf8cursor *u8c, const struct unicode_map *um,
{
if (!s)
return -1;
+
+ if (IS_ERR_OR_NULL(um))
+ return -1;
+
u8c->um = um;
u8c->n = n;
u8c->s = s;
--
2.25.1


2023-09-20 19:57:03

by Eric Biggers

[permalink] [raw]
Subject: Re: [PATCH] unicode: add s_encoding null ptr check in utf8ncursor

On Wed, Sep 20, 2023 at 07:20:16PM +0800, Edward AD wrote:
> When init struct utf8cursor *u8c in utf8ncursor(), we need check um is
> valid.
>
> Reported-and-tested-by: [email protected]
> Fixes: b81427939590 ("ext4: remove redundant checks of s_encoding")
> Signed-off-by: Edward AD <[email protected]>
> ---
> fs/unicode/utf8-norm.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/fs/unicode/utf8-norm.c b/fs/unicode/utf8-norm.c
> index 768f8ab448b8..906b639b2f38 100644
> --- a/fs/unicode/utf8-norm.c
> +++ b/fs/unicode/utf8-norm.c
> @@ -422,6 +422,10 @@ int utf8ncursor(struct utf8cursor *u8c, const struct unicode_map *um,
> {
> if (!s)
> return -1;
> +
> + if (IS_ERR_OR_NULL(um))
> + return -1;
> +
> u8c->um = um;
> u8c->n = n;
> u8c->s = s;
> --

See https://lore.kernel.org/linux-fsdevel/[email protected]/

- Eric