On Wed, Aug 1, 2018 at 10:58 AM, Miguel Ojeda
<[email protected]> wrote:
> Let gcc know it is not meant to be NUL-terminated by annotating with
> the new __nonstring variable attribute; and remove the comment since it
> conveys the same information.
>
> Cc: Willy Tarreau <[email protected]>
> Cc: Geert Uytterhoeven <[email protected]>
> Cc: Martin Sebor <[email protected]>
> Signed-off-by: Miguel Ojeda <[email protected]>
> ---
>  drivers/auxdisplay/panel.c | 7 +++----
>  1 file changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/auxdisplay/panel.c b/drivers/auxdisplay/panel.c
> index 3b25a643058c..21b9b2f2470a 100644
> --- a/drivers/auxdisplay/panel.c
> +++ b/drivers/auxdisplay/panel.c
> @@ -155,10 +155,9 @@ struct logical_input {
>                         int release_data;
>                 } std;
>                 struct {        /* valid when type == INPUT_TYPE_KBD */
> -                       /* strings can be non null-terminated */
> -                       char press_str[sizeof(void *) + sizeof(int)];
> -                       char repeat_str[sizeof(void *) + sizeof(int)];
> -                       char release_str[sizeof(void *) + sizeof(int)];
> +                       char press_str[sizeof(void *) + sizeof(int)] 
> __nonstring;
> +                       char repeat_str[sizeof(void *) + sizeof(int)] 
> __nonstring;
> +                       char release_str[sizeof(void *) + sizeof(int)] 
> __nonstring;
>                 } kbd;
>         } u;
>  };

If it's not a string, why not use "u8" instead of "char"? Does the
warning persist?

-Kees

-- 
Kees Cook
Pixel Security

Reply via email to