Re: [PATCH] virt-aa-helper: fix clang build

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



  Pavel Hrdina wrote:

> On Wed, May 11, 2016 at 09:46:23AM +0300, Roman Bogorodskiy wrote:
> >   Pavel Hrdina wrote:
> > 
> > > Clang complains about wrong argument type:
> > > 
> > > libvirt/src/security/virt-aa-helper.c:174:11: error: absolute value
> > >       function 'abs' given an argument of type 'long' but has parameter
> > >       of type 'int' which may cause truncation of value [-Werror,-Wabsolute-value]
> > >     idx = abs(pos - orig);
> > 
> > Out of curiosity, why not use labs() here instead of casting?  
> 
> Just a random pick from those two possible fixes. It's stored into 'idx'
> variable which is int and labs() returns long.  To use labs() the 'idx' would
> have to be changed to 'long' or even 'size_t' since it's used only as 'size_t'.
> 
> If you think that it would be better to use the labs() and change the 'idx' to
> 'size_t' I can do that.

Thinking about it, probably using labs() is not quite right, because
pointer difference might be not long on all platforms?

I'm wondering if it'd make sense to make idx size_t and drop usage of
abs() at all, i.e. "idx = (pos > orig) ? pos - orig : orig - pos"?

> Pavel

Roman Bogorodskiy

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list



[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]