2019-08-02 02:32:51

by Chuhong Yuan

[permalink] [raw]
Subject: [PATCH v2 02/10] gcov: 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.

Signed-off-by: Chuhong Yuan <[email protected]>
---
Changes in v2:
- Revise the description.

kernel/gcov/fs.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/gcov/fs.c b/kernel/gcov/fs.c
index e5eb5ea7ea59..67296c1768b4 100644
--- a/kernel/gcov/fs.c
+++ b/kernel/gcov/fs.c
@@ -354,7 +354,7 @@ static char *get_link_target(const char *filename, const struct gcov_link *ext)
*/
static const char *deskew(const char *basename)
{
- if (strncmp(basename, SKEW_PREFIX, sizeof(SKEW_PREFIX) - 1) == 0)
+ if (str_has_prefix(basename, SKEW_PREFIX))
return basename + sizeof(SKEW_PREFIX) - 1;
return basename;
}
--
2.20.1


2019-08-02 22:33:12

by Peter Oberparleiter

[permalink] [raw]
Subject: Re: [PATCH v2 02/10] gcov: Replace strncmp with str_has_prefix

On 02.08.2019 03:46, 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.
>
> Signed-off-by: Chuhong Yuan <[email protected]>

Looks sane!

Acked-by: Peter Oberparleiter <[email protected]>

> ---
> Changes in v2:
> - Revise the description.
>
> kernel/gcov/fs.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/kernel/gcov/fs.c b/kernel/gcov/fs.c
> index e5eb5ea7ea59..67296c1768b4 100644
> --- a/kernel/gcov/fs.c
> +++ b/kernel/gcov/fs.c
> @@ -354,7 +354,7 @@ static char *get_link_target(const char *filename, const struct gcov_link *ext)
> */
> static const char *deskew(const char *basename)
> {
> - if (strncmp(basename, SKEW_PREFIX, sizeof(SKEW_PREFIX) - 1) == 0)
> + if (str_has_prefix(basename, SKEW_PREFIX))
> return basename + sizeof(SKEW_PREFIX) - 1;
> return basename;
> }
>


--
Peter Oberparleiter
Linux on Z Development - IBM Germany