Re: [PATCH] libtracefs: Fix sometimes uninitialized warning.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu,  2 Sep 2021 15:48:40 -0700
Ian Rogers <irogers@xxxxxxxxxx> wrote:

> The warning with clang looks like:
> 
> src/tracefs-sqlhist.c:1107:2: error: variable 'cmp' is used uninitialized whenever switch default is taken [-Werror,-Wsometimes-uninitialized]
>         default:
>         ^~~~~~~
> third_party/libtracefs/src/tracefs-sqlhist.c:1112:35: note: uninitialized use occurs here
>                             filter->lval->field.field, cmp, val);
>                                                        ^~~
> third_party/libtracefs/src/tracefs-sqlhist.c:1033:2: note: variable 'cmp' is declared here
>         enum tracefs_compare cmp;
> 
> Signed-off-by: Ian Rogers <irogers@xxxxxxxxxx>
> ---
>  src/tracefs-sqlhist.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/src/tracefs-sqlhist.c b/src/tracefs-sqlhist.c
> index 6224677..f4dc004 100644
> --- a/src/tracefs-sqlhist.c
> +++ b/src/tracefs-sqlhist.c
> @@ -1105,7 +1105,7 @@ static int build_filter(struct tep_handle *tep, struct sqlhist_bison *sb,
>  	case FILTER_BIN_AND:	cmp = TRACEFS_COMPARE_AND; break;
>  	case FILTER_STR_CMP:	cmp = TRACEFS_COMPARE_RE; break;
>  	default:
> -		break;
> +		abort();

Hmm, I wonder if we should do something different than call abort().

Although this should never happen, I think it's rather rude of a library
function to call abort() when it fails.

I'd like to see this simply return an error. At most, a warning can be
printed.

Thanks!

-- Steve


>  	}
>  
>  	ret = append_filter(synth, TRACEFS_FILTER_COMPARE,




[Index of Archives]     [Linux USB Development]     [Linux USB Development]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux