[Libvirt-cim] [PATCH] Fix potiential seg fault if user doesn't specify BootDevices attribute

Richard Maciel rmaciel at linux.vnet.ibm.com
Thu Jun 11 17:40:57 UTC 2009


+1

Kaitlin Rupert wrote:
> # HG changeset patch
> # User Kaitlin Rupert <karupert at us.ibm.com>
> # Date 1244676797 25200
> # Node ID fc8f08ab36dac00f5e8bc3f2a1d160d1a57fdc78
> # Parent  6107c1026ed44acaf24ce9430a0e6dd2fa97f252
> Fix potiential seg fault if user doesn't specify BootDevices attribute
> 
> If the user doesn't specify the BootDevices attribute, then we should return
> from the bootord_vssd_to_domain().  Otherwise, the provider will seg fault when
> it tries to get the length of the array.  Since specifying a boot order is
> optional, set the boot order count to 0 and return.
> 
> Signed-off-by: Kaitlin Rupert <karupert at us.ibm.com>
> 
> diff -r 6107c1026ed4 -r fc8f08ab36da src/Virt_VirtualSystemManagementService.c
> --- a/src/Virt_VirtualSystemManagementService.c	Mon Jun 01 18:19:42 2009 -0300
> +++ b/src/Virt_VirtualSystemManagementService.c	Wed Jun 10 16:33:17 2009 -0700
> @@ -213,9 +213,11 @@
> 
>          ret = cu_get_array_prop(inst, "BootDevices", &bootlist);
>        
> -        if (ret != CMPI_RC_OK)  
> +        if (ret != CMPI_RC_OK) {
>                  CU_DEBUG("Failed to get BootDevices property"); 
> -
> +                domain->os_info.fv.bootlist_ct = 0;
> +                goto out;
> +        }
>         
>          bl_size = CMGetArrayCount(bootlist, &s);
>          if (s.rc != CMPI_RC_OK) {
> @@ -256,6 +258,8 @@
>          domain->os_info.fv.bootlist_ct = bl_size;
>          domain->os_info.fv.bootlist = tmp_str_arr;
> 
> + out:
> +
>          return 1;
>  }
> 
> 
> _______________________________________________
> Libvirt-cim mailing list
> Libvirt-cim at redhat.com
> https://www.redhat.com/mailman/listinfo/libvirt-cim


-- 
Richard Maciel, MSc
IBM Linux Technology Center
rmaciel at linux.vnet.ibm.com




More information about the Libvirt-cim mailing list