Re: [PATCH] KEYS: trusted: fix -Wvarags warning

From: Nick Desaulniers
Date: Fri Oct 12 2018 - 14:40:06 EST


On Fri, Oct 12, 2018 at 10:27 AM Denis Kenzior <denkenz@xxxxxxxxx> wrote:
>
> Hi Nick,
>
> >> So maybe I'm misunderstanding something, but the issue seems to be that
> >> unsigned char is promoted to 'unsigned char *' by Clang and probably
> >> unsigned int or int by gcc.
> >
> > No. This is extremely well defined behavior in C. In C, integral
> > types are NEVER promoted to pointer to integer types, only to larger
> > integral types through rules more complicated than the correct flags
> > to pass to `tar`.
> > https://xkcd.com/1168/
> >
>
> Ah right. Thanks for the correction. So looks like bool won't work for
> the same reasons. But unsigned int should work right? But then again
> this is a boolean value and if we want to be paranoid we can simply
> tweak the 'c = h3' assignment to be something like:
>
> c = !!h3;
>
> So in the end, I'm happy with int or unsigned int.

Thanks for the feedback. I'll wait wait to see if James is also cool
with that approach, and if so, send a v2 based on the next-keys branch
in the security tree as per Nathan, with yours and his Suggested-by
tags.

--
Thanks,
~Nick Desaulniers