Message ID | 20200720191845.20115-1-trix@redhat.com (mailing list archive) |
---|---|
State | Superseded, archived |
Headers | show |
Series | video: fbdev: pvr2fb: initialize variables | expand |
On Mon, Jul 20, 2020 at 9:19 PM <trix@redhat.com> wrote: > > From: Tom Rix <trix@redhat.com> > > clang static analysis reports this repesentative error > > pvr2fb.c:1049:2: warning: 1st function call argument > is an uninitialized value [core.CallAndMessage] > if (*cable_arg) > ^~~~~~~~~~~~~~~ > > Problem is that cable_arg depends on the input loop to > set the cable_arg[0]. If it does not, then some random > value from the stack is used. > > A similar problem exists for output_arg. > > So initialize cable_arg and output_arg. Adding a zero-initialization is almost never the correct way to deal with these warnings, so one has to be careful doing this. I checked this file, and your patch is absolutely correct here. ;-) > Signed-off-by: Tom Rix <trix@redhat.com> Acked-by: Arnd Bergmann <arnd@arndb.de>
Hi Tom, On Mon, Jul 20, 2020 at 12:18:45PM -0700, trix@redhat.com wrote: > From: Tom Rix <trix@redhat.com> > > clang static analysis reports this repesentative error > > pvr2fb.c:1049:2: warning: 1st function call argument > is an uninitialized value [core.CallAndMessage] > if (*cable_arg) > ^~~~~~~~~~~~~~~ > > Problem is that cable_arg depends on the input loop to > set the cable_arg[0]. If it does not, then some random > value from the stack is used. > > A similar problem exists for output_arg. > > So initialize cable_arg and output_arg. > > Signed-off-by: Tom Rix <trix@redhat.com> Thanks, applied to drm-misc-next. Sam > --- > drivers/video/fbdev/pvr2fb.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/video/fbdev/pvr2fb.c b/drivers/video/fbdev/pvr2fb.c > index 2d9f69b93392..f4add36cb5f4 100644 > --- a/drivers/video/fbdev/pvr2fb.c > +++ b/drivers/video/fbdev/pvr2fb.c > @@ -1028,6 +1028,8 @@ static int __init pvr2fb_setup(char *options) > if (!options || !*options) > return 0; > > + cable_arg[0] = output_arg[0] = 0; > + > while ((this_opt = strsep(&options, ","))) { > if (!*this_opt) > continue; > -- > 2.18.1 > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel
diff --git a/drivers/video/fbdev/pvr2fb.c b/drivers/video/fbdev/pvr2fb.c index 2d9f69b93392..f4add36cb5f4 100644 --- a/drivers/video/fbdev/pvr2fb.c +++ b/drivers/video/fbdev/pvr2fb.c @@ -1028,6 +1028,8 @@ static int __init pvr2fb_setup(char *options) if (!options || !*options) return 0; + cable_arg[0] = output_arg[0] = 0; + while ((this_opt = strsep(&options, ","))) { if (!*this_opt) continue;