--- xen-4.1.0/tools/libxl/libxl.c.orig 2011-01-25 19:22:58.000000000 +0000 +++ xen-4.1.0/tools/libxl/libxl.c 2011-01-27 20:23:57.000000000 +0000 @@ -988,13 +988,18 @@ case PHYSTYPE_VHD: if (libxl__blktap_enabled(&gc)) dev = libxl__blktap_devpath(&gc, disk->physpath, phystype); + else + dev = disk->physpath; break; default: LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "unrecognized disk physical type: %d\n", phystype); break; } - ret = strdup(dev); + if (dev) + ret = strdup(dev); + else + ret = NULL; libxl__free_all(&gc); return ret; }