On Tue, Dec 18, 2018 at 12:03:34PM -0500, Michael S. Tsirkin wrote: > On Tue, Dec 18, 2018 at 05:38:17PM +0100, Paolo Bonzini wrote: > > On 18/12/18 15:54, Michael S. Tsirkin wrote: > > > On Tue, Dec 18, 2018 at 03:45:08PM +0100, Paolo Bonzini wrote: > > >> On 18/12/18 15:31, Michael S. Tsirkin wrote: > > >>> Do you happen to know why does it build fine with > > >>> Gcc 8.2.1? > > >>> > > >>> Reading the GCC manual it seems that > > >>> there is a "nostring" attribute that means > > >>> "might not be 0 terminated". > > >>> I think we should switch to that which fixes the warning > > >>> but also warns if someone tries to misuse these > > >>> as C-strings. > > >>> > > >>> Seems to be a better option, does it not? > > >>> > > >>> > > >> > > >> Using strpadcpy is clever and self-documenting, though. We have it > > >> already, so why not use it. > > >> > > >> Paolo > > > > > > The advantage of nonstring is that it will catch attempts to > > > use these fields with functions that expect a 0 terminated string. > > > > > > strpadcpy will instead just silence the warning. > > > > Ah, I see. We could also do both, that's a matter of taste. > > > > Paolo > > Do you happen to know how to make gcc check the buffer size > for strpadcpy? Is the name strncpy just hard-coded?
GCC provides strncpy as a builtin function and its warning only checks its builtin. Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
