[Libosinfo] [PATCH] media: Fix misplaced parenthesis in strncmp use

Daniel P. Berrange berrange at redhat.com
Wed May 11 12:31:08 UTC 2016


On Wed, May 11, 2016 at 02:26:27PM +0200, Christophe Fergeau wrote:
> Due to a misplaced parenthesis, bootable media detection was doing
> strncmp(.., .., sizeof(..) != 0)
> instead of
> strncmp(.., .., sizeof(..)) != 0
> 
> This means we were comparing 1 character from BOOTABLE_TAG rather than
> the full string.
> ---
>  osinfo/osinfo_media.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/osinfo/osinfo_media.c b/osinfo/osinfo_media.c
> index d9fcba6..f7bf120 100644
> --- a/osinfo/osinfo_media.c
> +++ b/osinfo/osinfo_media.c
> @@ -713,7 +713,7 @@ static void on_svd_read(GObject *source,
>  
>      data->svd.system[MAX_SYSTEM - 1] = 0;
>  
> -    if (strncmp(BOOTABLE_TAG, data->svd.system, sizeof(BOOTABLE_TAG) != 0)) {
> +    if (strncmp(BOOTABLE_TAG, data->svd.system, sizeof(BOOTABLE_TAG)) != 0) {
>          g_set_error(&error,
>                      OSINFO_MEDIA_ERROR,
>                      OSINFO_MEDIA_ERROR_NOT_BOOTABLE,

ACK, this kind of thing is why we banned strncmp in libvirt :-) If anyone
is feeling motiviated, libosinfo shold be made to use g_str_equal() instead
and get 'make syntax-check' to block use of strcmp & friends to.


Regards,
Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|




More information about the Libosinfo mailing list