linux-trace-devel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/2] libtracefs: Silence non-literal-null-conversion warning
@ 2021-08-04  0:41 Ian Rogers
  2021-08-04  0:41 ` [PATCH 2/2] libtracefs: Silence sometimes-uninitialized warning Ian Rogers
  2021-08-04  0:50 ` [PATCH 1/2] libtracefs: Silence non-literal-null-conversion warning Steven Rostedt
  0 siblings, 2 replies; 4+ messages in thread
From: Ian Rogers @ 2021-08-04  0:41 UTC (permalink / raw)
  To: linux-trace-devel, Tzvetomir Stoyanov, Steven Rostedt, Claire Jensen
  Cc: Ian Rogers

On clang the warning looks like:

src/tracefs-utils.c:473:15: error: expression which evaluates to zero treated as a null pointer constant of type 'char *' [-Werror,-Wnon-literal-null-conversion]
        list[size] = '\0';

Signed-off-by: Ian Rogers <irogers@google.com>
---
 src/tracefs-utils.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/tracefs-utils.c b/src/tracefs-utils.c
index 63bb413..a502c2d 100644
--- a/src/tracefs-utils.c
+++ b/src/tracefs-utils.c
@@ -470,7 +470,7 @@ int tracefs_list_pop(char **list)
 	size--;
 	*list = (char *)size;
 	list++;
-	list[size] = '\0';
+	list[size] = NULL;
 	return 0;
 }
 
-- 
2.32.0.554.ge1b32706d8-goog


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH 2/2] libtracefs: Silence sometimes-uninitialized warning
  2021-08-04  0:41 [PATCH 1/2] libtracefs: Silence non-literal-null-conversion warning Ian Rogers
@ 2021-08-04  0:41 ` Ian Rogers
  2021-08-04  0:51   ` Steven Rostedt
  2021-08-04  0:50 ` [PATCH 1/2] libtracefs: Silence non-literal-null-conversion warning Steven Rostedt
  1 sibling, 1 reply; 4+ messages in thread
From: Ian Rogers @ 2021-08-04  0:41 UTC (permalink / raw)
  To: linux-trace-devel, Tzvetomir Stoyanov, Steven Rostedt, Claire Jensen
  Cc: Ian Rogers

Warning generated by clang:

src/tracefs-events.c:1046:6: error: variable 'ret' is used uninitialized whenever 'if' condition is true [-Werror,-Wsometimes-uninitialized]
        if (!systems)
            ^~~~~~~~
src/tracefs-events.c:1101:9: note: uninitialized use occurs here
        return ret;
               ^~~
src/tracefs-events.c:1046:2: note: remove the 'if' if its condition is always false
        if (!systems)
        ^~~~~~~~~~~~~
src/tracefs-events.c:1038:9: note: initialize the variable 'ret' to silence this warning
        int ret;
               ^
                = 0

Signed-off-by: Ian Rogers <irogers@google.com>
---
 src/tracefs-events.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/tracefs-events.c b/src/tracefs-events.c
index 8d84838..4679926 100644
--- a/src/tracefs-events.c
+++ b/src/tracefs-events.c
@@ -1035,7 +1035,7 @@ static int event_enable_disable(struct tracefs_instance *instance,
 	regex_t system_re, event_re;
 	char **systems;
 	char **events = NULL;
-	int ret;
+	int ret = -1;
 	int s, e;
 
 	/* Handle all events first */
-- 
2.32.0.554.ge1b32706d8-goog


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH 1/2] libtracefs: Silence non-literal-null-conversion warning
  2021-08-04  0:41 [PATCH 1/2] libtracefs: Silence non-literal-null-conversion warning Ian Rogers
  2021-08-04  0:41 ` [PATCH 2/2] libtracefs: Silence sometimes-uninitialized warning Ian Rogers
@ 2021-08-04  0:50 ` Steven Rostedt
  1 sibling, 0 replies; 4+ messages in thread
From: Steven Rostedt @ 2021-08-04  0:50 UTC (permalink / raw)
  To: Ian Rogers; +Cc: linux-trace-devel, Tzvetomir Stoyanov, Claire Jensen

On Tue,  3 Aug 2021 17:41:08 -0700
Ian Rogers <irogers@google.com> wrote:

> diff --git a/src/tracefs-utils.c b/src/tracefs-utils.c
> index 63bb413..a502c2d 100644
> --- a/src/tracefs-utils.c
> +++ b/src/tracefs-utils.c
> @@ -470,7 +470,7 @@ int tracefs_list_pop(char **list)
>  	size--;
>  	*list = (char *)size;
>  	list++;
> -	list[size] = '\0';
> +	list[size] = NULL;

Regardless of a clang warning, that code was an oops.

Thanks for the fix.

-- Steve


>  	return 0;
>  }
>  

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH 2/2] libtracefs: Silence sometimes-uninitialized warning
  2021-08-04  0:41 ` [PATCH 2/2] libtracefs: Silence sometimes-uninitialized warning Ian Rogers
@ 2021-08-04  0:51   ` Steven Rostedt
  0 siblings, 0 replies; 4+ messages in thread
From: Steven Rostedt @ 2021-08-04  0:51 UTC (permalink / raw)
  To: Ian Rogers; +Cc: linux-trace-devel, Tzvetomir Stoyanov, Claire Jensen

On Tue,  3 Aug 2021 17:41:09 -0700
Ian Rogers <irogers@google.com> wrote:

> Warning generated by clang:
> 
> src/tracefs-events.c:1046:6: error: variable 'ret' is used uninitialized whenever 'if' condition is true [-Werror,-Wsometimes-uninitialized]
>         if (!systems)
>             ^~~~~~~~
> src/tracefs-events.c:1101:9: note: uninitialized use occurs here
>         return ret;
>                ^~~
> src/tracefs-events.c:1046:2: note: remove the 'if' if its condition is always false
>         if (!systems)
>         ^~~~~~~~~~~~~
> src/tracefs-events.c:1038:9: note: initialize the variable 'ret' to silence this warning
>         int ret;
>                ^
>                 = 0

That's a legitimate path to have ret returned without being initialized.

I'll add both patches to my next push.

Thanks!

-- Steve


> 
> Signed-off-by: Ian Rogers <irogers@google.com>
> ---
>  src/tracefs-events.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/src/tracefs-events.c b/src/tracefs-events.c
> index 8d84838..4679926 100644
> --- a/src/tracefs-events.c
> +++ b/src/tracefs-events.c
> @@ -1035,7 +1035,7 @@ static int event_enable_disable(struct tracefs_instance *instance,
>  	regex_t system_re, event_re;
>  	char **systems;
>  	char **events = NULL;
> -	int ret;
> +	int ret = -1;
>  	int s, e;
>  
>  	/* Handle all events first */


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2021-08-04  0:51 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-04  0:41 [PATCH 1/2] libtracefs: Silence non-literal-null-conversion warning Ian Rogers
2021-08-04  0:41 ` [PATCH 2/2] libtracefs: Silence sometimes-uninitialized warning Ian Rogers
2021-08-04  0:51   ` Steven Rostedt
2021-08-04  0:50 ` [PATCH 1/2] libtracefs: Silence non-literal-null-conversion warning Steven Rostedt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).