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: Eric Blake
Subject: Re: [Qemu-devel] [PATCH] curses ui: always initialize all curses_line fields
Date: Fri, 15 Mar 2019 08:02:29 -0500
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.5.1

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?

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3226
Virtualization:  qemu.org | libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

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