Message ID | 20220928210931.1803799-1-irogers@google.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | Initialize field_size prior to use | expand |
On Wed, 28 Sep 2022 14:09:31 -0700 Ian Rogers <irogers@google.com> wrote: > Building with CC=clang yields: > > ``` > COMPILE FPIC event-parse.o > event-parse.c:4313:17: warning: variable 'field_size' is uninitialized when used here [-Wuninitialized] > offset, field_size)) { > ^~~~~~~~~~ > event-parse.c:4108:25: note: initialize the variable 'field_size' to silence this warning > unsigned int field_size; > ^ > = 0 > 1 warning generated. > ``` > > dynamic_offset_field will compute the length of the field and so use > that to give field_size a legitimate value. Actually the field_size is not needed here. I have a patch pending to fix this: https://patchwork.kernel.org/project/linux-trace-devel/patch/20220923123014.489e0e39@gandalf.local.home/ -- Steve > > Signed-off-by: Ian Rogers <irogers@google.com> > --- > src/event-parse.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/src/event-parse.c b/src/event-parse.c > index 980e980..b3e0ea7 100644 > --- a/src/event-parse.c > +++ b/src/event-parse.c > @@ -4308,7 +4308,7 @@ eval_num_arg(void *data, int size, struct tep_event *event, struct tep_print_arg > case TEP_PRINT_DYNAMIC_ARRAY: > /* Without [], we pass the address to the dynamic data */ > dynamic_offset_field(tep, arg->dynarray.field, data, size, > - &offset, NULL); > + &offset, &field_size); > if (check_data_offset_size(event, arg->field.name, size, > offset, field_size)) { > val = (unsigned long)data;
diff --git a/src/event-parse.c b/src/event-parse.c index 980e980..b3e0ea7 100644 --- a/src/event-parse.c +++ b/src/event-parse.c @@ -4308,7 +4308,7 @@ eval_num_arg(void *data, int size, struct tep_event *event, struct tep_print_arg case TEP_PRINT_DYNAMIC_ARRAY: /* Without [], we pass the address to the dynamic data */ dynamic_offset_field(tep, arg->dynarray.field, data, size, - &offset, NULL); + &offset, &field_size); if (check_data_offset_size(event, arg->field.name, size, offset, field_size)) { val = (unsigned long)data;
Building with CC=clang yields: ``` COMPILE FPIC event-parse.o event-parse.c:4313:17: warning: variable 'field_size' is uninitialized when used here [-Wuninitialized] offset, field_size)) { ^~~~~~~~~~ event-parse.c:4108:25: note: initialize the variable 'field_size' to silence this warning unsigned int field_size; ^ = 0 1 warning generated. ``` dynamic_offset_field will compute the length of the field and so use that to give field_size a legitimate value. Signed-off-by: Ian Rogers <irogers@google.com> --- src/event-parse.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)