2019-08-09 07:11:40

by Chuhong Yuan

[permalink] [raw]
Subject: [PATCH v4 3/8] PM/sleep: Replace strncmp with str_has_prefix

strncmp(str, const, len) is error-prone because len
is easy to have typo.
The example is the hard-coded len has counting error
or sizeof(const) forgets - 1.
So we prefer using newly introduced str_has_prefix()
to substitute such strncmp to make code better.

Signed-off-by: Chuhong Yuan <[email protected]>
---
kernel/power/main.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/power/main.c b/kernel/power/main.c
index bdbd605c4215..5e5f64bb3a43 100644
--- a/kernel/power/main.c
+++ b/kernel/power/main.c
@@ -495,7 +495,7 @@ static suspend_state_t decode_state(const char *buf, size_t n)
len = p ? p - buf : n;

/* Check hibernation first. */
- if (len == 4 && !strncmp(buf, "disk", len))
+ if (len == 4 && str_has_prefix(buf, "disk"))
return PM_SUSPEND_MAX;

#ifdef CONFIG_SUSPEND
--
2.20.1


2019-08-26 11:18:16

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: [PATCH v4 3/8] PM/sleep: Replace strncmp with str_has_prefix

On Friday, August 9, 2019 9:10:23 AM CEST Chuhong Yuan wrote:
> strncmp(str, const, len) is error-prone because len
> is easy to have typo.
> The example is the hard-coded len has counting error
> or sizeof(const) forgets - 1.
> So we prefer using newly introduced str_has_prefix()
> to substitute such strncmp to make code better.
>
> Signed-off-by: Chuhong Yuan <[email protected]>
> ---
> kernel/power/main.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/kernel/power/main.c b/kernel/power/main.c
> index bdbd605c4215..5e5f64bb3a43 100644
> --- a/kernel/power/main.c
> +++ b/kernel/power/main.c
> @@ -495,7 +495,7 @@ static suspend_state_t decode_state(const char *buf, size_t n)
> len = p ? p - buf : n;
>
> /* Check hibernation first. */
> - if (len == 4 && !strncmp(buf, "disk", len))
> + if (len == 4 && str_has_prefix(buf, "disk"))
> return PM_SUSPEND_MAX;
>
> #ifdef CONFIG_SUSPEND
>

Applied, thanks!