On Thu, Jun 10, 2010 at 10:44:33PM +0200, Matthias Bolte wrote:
> Otherwise this will segfault if DISPLAY is not defined.
> ---
>  src/vbox/vbox_tmpl.c |   16 ++++++++++------
>  1 files changed, 10 insertions(+), 6 deletions(-)
> 
> diff --git a/src/vbox/vbox_tmpl.c b/src/vbox/vbox_tmpl.c
> index 1372f96..dfa76a6 100644
> --- a/src/vbox/vbox_tmpl.c
> +++ b/src/vbox/vbox_tmpl.c
> @@ -1915,6 +1915,7 @@ static char *vboxDomainDumpXML(virDomainPtr dom, int 
> flags) {
>      vboxIID  *iid        = NULL;
>      int gotAllABoutDef   = -1;
>      nsresult rc;
> +    char *tmp;
>  
>  #if VBOX_API_VERSION == 2002
>      if (VIR_ALLOC(iid) < 0) {
> @@ -2191,12 +2192,15 @@ static char *vboxDomainDumpXML(virDomainPtr dom, int 
> flags) {
>                  } else if ((vrdpPresent != 1) && (totalPresent == 0) && 
> (VIR_ALLOC_N(def->graphics, 1) >= 0)) {
>                      if (VIR_ALLOC(def->graphics[def->ngraphics]) >= 0) {
>                          def->graphics[def->ngraphics]->type = 
> VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP;
> -                        def->graphics[def->ngraphics]->data.desktop.display 
> = strdup(getenv("DISPLAY"));
> -                        if 
> (def->graphics[def->ngraphics]->data.desktop.display == NULL) {
> -                            virReportOOMError();
> -                            /* just don't go to cleanup yet as it is ok to 
> have
> -                             * display as NULL
> -                             */
> +                        tmp = getenv("DISPLAY");
> +                        if (tmp != NULL) {
> +                            
> def->graphics[def->ngraphics]->data.desktop.display = strdup(tmp);
> +                            if 
> (def->graphics[def->ngraphics]->data.desktop.display == NULL) {
> +                                virReportOOMError();
> +                                /* just don't go to cleanup yet as it is ok 
> to have
> +                                 * display as NULL
> +                                 */
> +                            }
>                          }
>                          totalPresent++;
>                          def->ngraphics++;

  ACK, makes sense to me :-)

Daniel

-- 
Daniel Veillard      | libxml Gnome XML XSLT toolkit  http://xmlsoft.org/
dan...@veillard.com  | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library  http://libvirt.org/

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

Reply via email to