The recently introduced strncmp_static() helper provides a safer way
to compare strings with static strings by determining the length at
compile time.

Replace several open-coded strncmp() calls with strncmp_static() to
improve code readability and robustness. This change affects the
parsing of command-line arguments and environment variables.

Signed-off-by: Wander Lairson Costa <[email protected]>
---
 tools/tracing/rtla/src/osnoise.c  | 2 +-
 tools/tracing/rtla/src/timerlat.c | 4 ++--
 tools/tracing/rtla/src/trace.c    | 2 +-
 tools/tracing/rtla/src/utils.c    | 8 ++++----
 4 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/tools/tracing/rtla/src/osnoise.c b/tools/tracing/rtla/src/osnoise.c
index 312c511fa0044..5075e0f485c77 100644
--- a/tools/tracing/rtla/src/osnoise.c
+++ b/tools/tracing/rtla/src/osnoise.c
@@ -1229,7 +1229,7 @@ int osnoise_main(int argc, char *argv[])
 
        if ((strcmp(argv[1], "-h") == 0) || (strcmp(argv[1], "--help") == 0)) {
                osnoise_usage(0);
-       } else if (strncmp(argv[1], "-", 1) == 0) {
+       } else if (strncmp_static(argv[1], "-") == 0) {
                /* the user skipped the tool, call the default one */
                run_tool(&osnoise_top_ops, argc, argv);
                exit(0);
diff --git a/tools/tracing/rtla/src/timerlat.c 
b/tools/tracing/rtla/src/timerlat.c
index b692128741279..56e0b8af041d7 100644
--- a/tools/tracing/rtla/src/timerlat.c
+++ b/tools/tracing/rtla/src/timerlat.c
@@ -34,7 +34,7 @@ timerlat_apply_config(struct osnoise_tool *tool, struct 
timerlat_params *params)
         * Try to enable BPF, unless disabled explicitly.
         * If BPF enablement fails, fall back to tracefs mode.
         */
-       if (getenv("RTLA_NO_BPF") && strncmp(getenv("RTLA_NO_BPF"), "1", 2) == 
0) {
+       if (getenv("RTLA_NO_BPF") && strncmp_static(getenv("RTLA_NO_BPF"), "1") 
== 0) {
                debug_msg("RTLA_NO_BPF set, disabling BPF\n");
                params->mode = TRACING_MODE_TRACEFS;
        } else if (!tep_find_event_by_name(tool->trace.tep, "osnoise", 
"timerlat_sample")) {
@@ -275,7 +275,7 @@ int timerlat_main(int argc, char *argv[])
 
        if ((strcmp(argv[1], "-h") == 0) || (strcmp(argv[1], "--help") == 0)) {
                timerlat_usage(0);
-       } else if (strncmp(argv[1], "-", 1) == 0) {
+       } else if (strncmp_static(argv[1], "-") == 0) {
                /* the user skipped the tool, call the default one */
                run_tool(&timerlat_top_ops, argc, argv);
                exit(0);
diff --git a/tools/tracing/rtla/src/trace.c b/tools/tracing/rtla/src/trace.c
index 69cbc48d53d3a..813f4368f104b 100644
--- a/tools/tracing/rtla/src/trace.c
+++ b/tools/tracing/rtla/src/trace.c
@@ -372,7 +372,7 @@ static void trace_event_save_hist(struct trace_instance 
*instance,
                return;
 
        /* is this a hist: trigger? */
-       retval = strncmp(tevent->trigger, "hist:", strlen("hist:"));
+       retval = strncmp_static(tevent->trigger, "hist:");
        if (retval)
                return;
 
diff --git a/tools/tracing/rtla/src/utils.c b/tools/tracing/rtla/src/utils.c
index 4cb765b94feec..f13d00d7b6bfe 100644
--- a/tools/tracing/rtla/src/utils.c
+++ b/tools/tracing/rtla/src/utils.c
@@ -196,15 +196,15 @@ long parse_ns_duration(char *val)
        t = strtol(val, &end, 10);
 
        if (end) {
-               if (!strncmp(end, "ns", 2)) {
+               if (!strncmp_static(end, "ns")) {
                        return t;
-               } else if (!strncmp(end, "us", 2)) {
+               } else if (!strncmp_static(end, "us")) {
                        t *= 1000;
                        return t;
-               } else if (!strncmp(end, "ms", 2)) {
+               } else if (!strncmp_static(end, "ms")) {
                        t *= 1000 * 1000;
                        return t;
-               } else if (!strncmp(end, "s", 1)) {
+               } else if (!strncmp_static(end, "s")) {
                        t *= 1000 * 1000 * 1000;
                        return t;
                }
-- 
2.51.1


Reply via email to