qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH] curses ui: always initialize all curses_line fi


From: Samuel Thibault
Subject: Re: [Qemu-devel] [PATCH] curses ui: always initialize all curses_line fields
Date: Fri, 15 Mar 2019 14:09:53 +0100
User-agent: NeoMutt/20170113 (1.7.2)

Eric Blake, le ven. 15 mars 2019 08:02:29 -0500, a ecrit:
> On 3/15/19 5:06 AM, Peter Maydell wrote:
> > On Fri, 15 Mar 2019 at 08:37, Samuel Thibault
> > <address@hidden> wrote:
> >>
> >> cchar_t can contain not only attr and chars fields, but also ext_color.
> >> Initialize the whole structure to zero instead of enumerating fields.
> >>
> >> Spotted by Coverity: CID 1399711
> >>
> >> Signed-off-by: Samuel Thibault <address@hidden>
> >> ---
> >>  ui/curses.c | 3 +--
> >>  1 file changed, 1 insertion(+), 2 deletions(-)
> >>
> >> diff --git a/ui/curses.c b/ui/curses.c
> >> index d29098db9f..e99fbe3e24 100644
> >> --- a/ui/curses.c
> >> +++ b/ui/curses.c
> >> @@ -75,9 +75,8 @@ static void curses_update(DisplayChangeListener *dcl,
> >>              if (vga_to_curses[ch].chars[0]) {
> >>                  curses_line[x] = vga_to_curses[ch];
> >>              } else {
> >> +                curses_line[x] = (cchar_t) {};
> >>                  curses_line[x].chars[0] = ch;
> >> -                curses_line[x].chars[1] = 0;
> >> -                curses_line[x].attr = 0;
> >>              }
> >>              curses_line[x].attr |= at;
> > 
> > Does this really need the cast ? {} is supposed to be a
> > universal initializer.
> 
> Or is it worth using:
> 
> curses_line[x] = (cchar_t) {
>   .chars[0] = ch,
> };
> 
> so that all other fields not mentioned are zero-initialized, without
> relying on the {} extension?

Right, it's no less readable :) I have sent an updated patch.

Samuel



reply via email to

[Prev in Thread] Current Thread [Next in Thread]