[libvirt] [PATCH] vbox: check getenv("DISPLAY") for NULL in vboxDomainDumpXML
Matthias Bolte
matthias.bolte at googlemail.com
Fri Jun 11 16:00:17 UTC 2010
2010/6/11 Daniel P. Berrange <berrange at redhat.com>:
> 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
>
> Daniel
Thanks, pushed.
Matthias
More information about the libvir-list
mailing list