[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
signature.asc
Description: OpenPGP digital signature