mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-22 19:32:19 +00:00
Adapt to VIR_STRDUP and VIR_STRNDUP in src/vbox/*
This commit is contained in:
parent
6b5f12c805
commit
31532cabe8
@ -106,13 +106,9 @@ tryLoadOne(const char *dir, bool setAppHome, bool ignoreMissing,
|
||||
return -1;
|
||||
}
|
||||
} else {
|
||||
name = strdup(DYNLIB_NAME);
|
||||
|
||||
if (name == NULL) {
|
||||
virReportOOMError();
|
||||
if (VIR_STRDUP(name, DYNLIB_NAME) < 0)
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Try load it by that name, setting the VBOX_APP_HOME first (for now).
|
||||
|
@ -1847,11 +1847,9 @@ static char *vboxDomainGetOSType(virDomainPtr dom ATTRIBUTE_UNUSED) {
|
||||
* is supposed to pass the ABI name and not the domain
|
||||
* operating system driver as I had imagined ;)
|
||||
*/
|
||||
char *osType = strdup("hvm");
|
||||
|
||||
if (osType == NULL)
|
||||
virReportOOMError();
|
||||
char *osType;
|
||||
|
||||
ignore_value(VIR_STRDUP(osType, "hvm"));
|
||||
return osType;
|
||||
}
|
||||
|
||||
@ -2297,7 +2295,8 @@ static char *vboxDomainGetXMLDesc(virDomainPtr dom, unsigned int flags) {
|
||||
def->virtType = VIR_DOMAIN_VIRT_VBOX;
|
||||
def->id = dom->id;
|
||||
memcpy(def->uuid, dom->uuid, VIR_UUID_BUFLEN);
|
||||
def->name = strdup(dom->name);
|
||||
if (VIR_STRDUP(def->name, dom->name) < 0)
|
||||
goto cleanup;
|
||||
|
||||
machine->vtbl->GetMemorySize(machine, &memorySize);
|
||||
def->mem.cur_balloon = memorySize * 1024;
|
||||
@ -2332,7 +2331,8 @@ static char *vboxDomainGetXMLDesc(virDomainPtr dom, unsigned int flags) {
|
||||
|
||||
/* Skip cpumasklen, cpumask, onReboot, onPoweroff, onCrash */
|
||||
|
||||
def->os.type = strdup("hvm");
|
||||
if (VIR_STRDUP(def->os.type, "hvm") < 0)
|
||||
goto cleanup;
|
||||
|
||||
def->os.arch = virArchFromHost();
|
||||
|
||||
@ -2467,10 +2467,7 @@ static char *vboxDomainGetXMLDesc(virDomainPtr dom, unsigned int flags) {
|
||||
|
||||
if (STREQ(valueTypeUtf8, "sdl")) {
|
||||
sdlPresent = 1;
|
||||
if (valueDisplayUtf8)
|
||||
sdlDisplay = strdup(valueDisplayUtf8);
|
||||
if (sdlDisplay == NULL) {
|
||||
virReportOOMError();
|
||||
if (VIR_STRDUP(sdlDisplay, valueDisplayUtf8) < 0) {
|
||||
/* just don't go to cleanup yet as it is ok to have
|
||||
* sdlDisplay as NULL and we check it below if it
|
||||
* exist and then only use it there
|
||||
@ -2481,10 +2478,7 @@ static char *vboxDomainGetXMLDesc(virDomainPtr dom, unsigned int flags) {
|
||||
|
||||
if (STREQ(valueTypeUtf8, "gui")) {
|
||||
guiPresent = 1;
|
||||
if (valueDisplayUtf8)
|
||||
guiDisplay = strdup(valueDisplayUtf8);
|
||||
if (guiDisplay == NULL) {
|
||||
virReportOOMError();
|
||||
if (VIR_STRDUP(guiDisplay, valueDisplayUtf8) < 0) {
|
||||
/* just don't go to cleanup yet as it is ok to have
|
||||
* guiDisplay as NULL and we check it below if it
|
||||
* exist and then only use it there
|
||||
@ -2519,15 +2513,11 @@ static char *vboxDomainGetXMLDesc(virDomainPtr dom, unsigned int flags) {
|
||||
if (VIR_ALLOC(def->graphics[def->ngraphics]) >= 0) {
|
||||
def->graphics[def->ngraphics]->type = VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP;
|
||||
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();
|
||||
if (VIR_STRDUP(def->graphics[def->ngraphics]->data.desktop.display, tmp) < 0) {
|
||||
/* just don't go to cleanup yet as it is ok to have
|
||||
* display as NULL
|
||||
*/
|
||||
}
|
||||
}
|
||||
totalPresent++;
|
||||
def->ngraphics++;
|
||||
}
|
||||
@ -2656,8 +2646,8 @@ static char *vboxDomainGetXMLDesc(virDomainPtr dom, unsigned int flags) {
|
||||
|
||||
if (hddType == HardDiskType_Immutable)
|
||||
def->disks[hddNum]->readonly = true;
|
||||
def->disks[hddNum]->src = strdup(hddlocation);
|
||||
def->disks[hddNum]->dst = strdup("hda");
|
||||
ignore_value(VIR_STRDUP(def->disks[hddNum]->src, hddlocation));
|
||||
ignore_value(VIR_STRDUP(def->disks[hddNum]->dst, "hda"));
|
||||
hddNum++;
|
||||
|
||||
VBOX_UTF8_FREE(hddlocation);
|
||||
@ -2677,8 +2667,8 @@ static char *vboxDomainGetXMLDesc(virDomainPtr dom, unsigned int flags) {
|
||||
|
||||
if (hddType == HardDiskType_Immutable)
|
||||
def->disks[hddNum]->readonly = true;
|
||||
def->disks[hddNum]->src = strdup(hddlocation);
|
||||
def->disks[hddNum]->dst = strdup("hdb");
|
||||
ignore_value(VIR_STRDUP(def->disks[hddNum]->src, hddlocation));
|
||||
ignore_value(VIR_STRDUP(def->disks[hddNum]->dst, "hdb"));
|
||||
hddNum++;
|
||||
|
||||
VBOX_UTF8_FREE(hddlocation);
|
||||
@ -2698,8 +2688,8 @@ static char *vboxDomainGetXMLDesc(virDomainPtr dom, unsigned int flags) {
|
||||
|
||||
if (hddType == HardDiskType_Immutable)
|
||||
def->disks[hddNum]->readonly = true;
|
||||
def->disks[hddNum]->src = strdup(hddlocation);
|
||||
def->disks[hddNum]->dst = strdup("hdd");
|
||||
if (VIR_STRDUP_QUIET(def->disks[hddNum]->src, hddlocation) == 0 &&
|
||||
VIR_STRDUP_QUIET(def->disks[hddNum]->dst, "hdd") == 0)
|
||||
hddNum++;
|
||||
|
||||
VBOX_UTF8_FREE(hddlocation);
|
||||
@ -2787,7 +2777,7 @@ static char *vboxDomainGetXMLDesc(virDomainPtr dom, unsigned int flags) {
|
||||
medium->vtbl->GetLocation(medium, &mediumLocUtf16);
|
||||
VBOX_UTF16_TO_UTF8(mediumLocUtf16, &mediumLocUtf8);
|
||||
VBOX_UTF16_FREE(mediumLocUtf16);
|
||||
def->disks[diskCount]->src = strdup(mediumLocUtf8);
|
||||
ignore_value(VIR_STRDUP(def->disks[diskCount]->src, mediumLocUtf8));
|
||||
VBOX_UTF8_FREE(mediumLocUtf8);
|
||||
|
||||
if (!(def->disks[diskCount]->src)) {
|
||||
@ -2891,25 +2881,23 @@ static char *vboxDomainGetXMLDesc(virDomainPtr dom, unsigned int flags) {
|
||||
|
||||
sharedFolder->vtbl->GetHostPath(sharedFolder, &hostPathUtf16);
|
||||
VBOX_UTF16_TO_UTF8(hostPathUtf16, &hostPath);
|
||||
def->fss[i]->src = strdup(hostPath);
|
||||
if (VIR_STRDUP(def->fss[i]->src, hostPath) < 0) {
|
||||
VBOX_UTF8_FREE(hostPath);
|
||||
VBOX_UTF16_FREE(hostPathUtf16);
|
||||
goto sharedFoldersCleanup;
|
||||
}
|
||||
VBOX_UTF8_FREE(hostPath);
|
||||
VBOX_UTF16_FREE(hostPathUtf16);
|
||||
|
||||
if (def->fss[i]->src == NULL) {
|
||||
virReportOOMError();
|
||||
goto sharedFoldersCleanup;
|
||||
}
|
||||
|
||||
sharedFolder->vtbl->GetName(sharedFolder, &nameUtf16);
|
||||
VBOX_UTF16_TO_UTF8(nameUtf16, &name);
|
||||
def->fss[i]->dst = strdup(name);
|
||||
if (VIR_STRDUP(def->fss[i]->dst, name) < 0) {
|
||||
VBOX_UTF8_FREE(name);
|
||||
VBOX_UTF16_FREE(nameUtf16);
|
||||
|
||||
if (def->fss[i]->dst == NULL) {
|
||||
virReportOOMError();
|
||||
goto sharedFoldersCleanup;
|
||||
}
|
||||
VBOX_UTF8_FREE(name);
|
||||
VBOX_UTF16_FREE(nameUtf16);
|
||||
|
||||
sharedFolder->vtbl->GetWritable(sharedFolder, &writable);
|
||||
def->fss[i]->readonly = !writable;
|
||||
@ -2983,7 +2971,7 @@ sharedFoldersCleanup:
|
||||
#endif /* VBOX_API_VERSION >= 4001 */
|
||||
|
||||
VBOX_UTF16_TO_UTF8(hostIntUtf16, &hostInt);
|
||||
def->nets[netAdpIncCnt]->data.bridge.brname = strdup(hostInt);
|
||||
ignore_value(VIR_STRDUP(def->nets[netAdpIncCnt]->data.bridge.brname, hostInt));
|
||||
|
||||
VBOX_UTF8_FREE(hostInt);
|
||||
VBOX_UTF16_FREE(hostIntUtf16);
|
||||
@ -2997,7 +2985,7 @@ sharedFoldersCleanup:
|
||||
adapter->vtbl->GetInternalNetwork(adapter, &intNetUtf16);
|
||||
|
||||
VBOX_UTF16_TO_UTF8(intNetUtf16, &intNet);
|
||||
def->nets[netAdpIncCnt]->data.internal.name = strdup(intNet);
|
||||
ignore_value(VIR_STRDUP(def->nets[netAdpIncCnt]->data.internal.name, intNet));
|
||||
|
||||
VBOX_UTF8_FREE(intNet);
|
||||
VBOX_UTF16_FREE(intNetUtf16);
|
||||
@ -3015,7 +3003,7 @@ sharedFoldersCleanup:
|
||||
#endif /* VBOX_API_VERSION >= 4001 */
|
||||
|
||||
VBOX_UTF16_TO_UTF8(hostIntUtf16, &hostInt);
|
||||
def->nets[netAdpIncCnt]->data.network.name = strdup(hostInt);
|
||||
ignore_value(VIR_STRDUP(def->nets[netAdpIncCnt]->data.network.name, hostInt));
|
||||
|
||||
VBOX_UTF8_FREE(hostInt);
|
||||
VBOX_UTF16_FREE(hostIntUtf16);
|
||||
@ -3029,18 +3017,18 @@ sharedFoldersCleanup:
|
||||
|
||||
adapter->vtbl->GetAdapterType(adapter, &adapterType);
|
||||
if (adapterType == NetworkAdapterType_Am79C970A) {
|
||||
def->nets[netAdpIncCnt]->model = strdup("Am79C970A");
|
||||
ignore_value(VIR_STRDUP(def->nets[netAdpIncCnt]->model, "Am79C970A"));
|
||||
} else if (adapterType == NetworkAdapterType_Am79C973) {
|
||||
def->nets[netAdpIncCnt]->model = strdup("Am79C973");
|
||||
ignore_value(VIR_STRDUP(def->nets[netAdpIncCnt]->model, "Am79C973"));
|
||||
} else if (adapterType == NetworkAdapterType_I82540EM) {
|
||||
def->nets[netAdpIncCnt]->model = strdup("82540EM");
|
||||
ignore_value(VIR_STRDUP(def->nets[netAdpIncCnt]->model, "82540EM"));
|
||||
} else if (adapterType == NetworkAdapterType_I82545EM) {
|
||||
def->nets[netAdpIncCnt]->model = strdup("82545EM");
|
||||
ignore_value(VIR_STRDUP(def->nets[netAdpIncCnt]->model, "82545EM"));
|
||||
} else if (adapterType == NetworkAdapterType_I82543GC) {
|
||||
def->nets[netAdpIncCnt]->model = strdup("82543GC");
|
||||
ignore_value(VIR_STRDUP(def->nets[netAdpIncCnt]->model, "82543GC"));
|
||||
#if VBOX_API_VERSION >= 3001
|
||||
} else if (adapterType == NetworkAdapterType_Virtio) {
|
||||
def->nets[netAdpIncCnt]->model = strdup("virtio");
|
||||
ignore_value(VIR_STRDUP(def->nets[netAdpIncCnt]->model, "virtio"));
|
||||
#endif /* VBOX_API_VERSION >= 3001 */
|
||||
}
|
||||
|
||||
@ -3127,8 +3115,9 @@ sharedFoldersCleanup:
|
||||
def->disks[def->ndisks - 1]->bus = VIR_DOMAIN_DISK_BUS_IDE;
|
||||
def->disks[def->ndisks - 1]->type = VIR_DOMAIN_DISK_TYPE_FILE;
|
||||
def->disks[def->ndisks - 1]->readonly = true;
|
||||
def->disks[def->ndisks - 1]->src = strdup(location);
|
||||
def->disks[def->ndisks - 1]->dst = strdup("hdc");
|
||||
ignore_value(VIR_STRDUP(def->disks[def->ndisks - 1]->src, location));
|
||||
ignore_value(VIR_STRDUP(def->disks[def->ndisks - 1]->dst, "hdc"));
|
||||
def->ndisks--;
|
||||
} else {
|
||||
def->ndisks--;
|
||||
virReportOOMError();
|
||||
@ -3174,8 +3163,9 @@ sharedFoldersCleanup:
|
||||
def->disks[def->ndisks - 1]->bus = VIR_DOMAIN_DISK_BUS_FDC;
|
||||
def->disks[def->ndisks - 1]->type = VIR_DOMAIN_DISK_TYPE_FILE;
|
||||
def->disks[def->ndisks - 1]->readonly = false;
|
||||
def->disks[def->ndisks - 1]->src = strdup(location);
|
||||
def->disks[def->ndisks - 1]->dst = strdup("fda");
|
||||
ignore_value(VIR_STRDUP(def->disks[def->ndisks - 1]->src, location));
|
||||
ignore_value(VIR_STRDUP(def->disks[def->ndisks - 1]->dst, "fda"));
|
||||
def->ndisks--;
|
||||
} else {
|
||||
def->ndisks--;
|
||||
virReportOOMError();
|
||||
@ -3268,7 +3258,7 @@ sharedFoldersCleanup:
|
||||
|
||||
if (pathUtf16) {
|
||||
VBOX_UTF16_TO_UTF8(pathUtf16, &path);
|
||||
def->serials[serialPortIncCount]->source.data.file.path = strdup(path);
|
||||
ignore_value(VIR_STRDUP(def->serials[serialPortIncCount]->source.data.file.path, path));
|
||||
}
|
||||
|
||||
serialPortIncCount++;
|
||||
@ -3338,7 +3328,7 @@ sharedFoldersCleanup:
|
||||
parallelPort->vtbl->GetPath(parallelPort, &pathUtf16);
|
||||
|
||||
VBOX_UTF16_TO_UTF8(pathUtf16, &path);
|
||||
def->parallels[parallelPortIncCount]->source.data.file.path = strdup(path);
|
||||
ignore_value(VIR_STRDUP(def->parallels[parallelPortIncCount]->source.data.file.path, path));
|
||||
|
||||
parallelPortIncCount++;
|
||||
|
||||
@ -3485,16 +3475,16 @@ static int vboxConnectListDefinedDomains(virConnectPtr conn, char ** const names
|
||||
(state > MachineState_LastOnline)) {
|
||||
machine->vtbl->GetName(machine, &machineNameUtf16);
|
||||
VBOX_UTF16_TO_UTF8(machineNameUtf16, &machineName);
|
||||
names[j] = strdup(machineName);
|
||||
if (VIR_STRDUP(names[j], machineName) < 0) {
|
||||
VBOX_UTF16_FREE(machineNameUtf16);
|
||||
VBOX_UTF8_FREE(machineName);
|
||||
if (!names[j]) {
|
||||
virReportOOMError();
|
||||
for (; j >= 0 ; j--)
|
||||
VIR_FREE(names[j]);
|
||||
ret = -1;
|
||||
goto cleanup;
|
||||
}
|
||||
VBOX_UTF16_FREE(machineNameUtf16);
|
||||
VBOX_UTF8_FREE(machineName);
|
||||
j++;
|
||||
ret++;
|
||||
}
|
||||
@ -3591,24 +3581,17 @@ vboxStartMachine(virDomainPtr dom, int i, IMachine *machine,
|
||||
|
||||
if (STREQ(valueTypeUtf8, "sdl")) {
|
||||
sdlPresent = 1;
|
||||
if (valueDisplayUtf8) {
|
||||
sdlDisplay = strdup(valueDisplayUtf8);
|
||||
if (sdlDisplay == NULL) {
|
||||
virReportOOMError();
|
||||
if (VIR_STRDUP(sdlDisplay, valueDisplayUtf8) < 0) {
|
||||
/* just don't go to cleanup yet as it is ok to have
|
||||
* sdlDisplay as NULL and we check it below if it
|
||||
* exist and then only use it there
|
||||
*/
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (STREQ(valueTypeUtf8, "gui")) {
|
||||
guiPresent = 1;
|
||||
if (valueDisplayUtf8) {
|
||||
guiDisplay = strdup(valueDisplayUtf8);
|
||||
if (guiDisplay == NULL) {
|
||||
virReportOOMError();
|
||||
if (VIR_STRDUP(guiDisplay, valueDisplayUtf8) < 0) {
|
||||
/* just don't go to cleanup yet as it is ok to have
|
||||
* guiDisplay as NULL and we check it below if it
|
||||
* exist and then only use it there
|
||||
@ -3616,7 +3599,6 @@ vboxStartMachine(virDomainPtr dom, int i, IMachine *machine,
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (STREQ(valueTypeUtf8, "vrdp")) {
|
||||
vrdpPresent = 1;
|
||||
@ -3989,7 +3971,8 @@ vboxAttachDrives(virDomainDefPtr def, vboxGlobalData *data, IMachine *machine)
|
||||
PRInt32 device = 0;
|
||||
PRUnichar *hddcnameUtf16 = NULL;
|
||||
|
||||
char *hddcname = strdup("IDE");
|
||||
char *hddcname;
|
||||
ignore_value(VIR_STRDUP(hddcname, "IDE"));
|
||||
VBOX_UTF8_TO_UTF16(hddcname, &hddcnameUtf16);
|
||||
VIR_FREE(hddcname);
|
||||
|
||||
@ -4808,25 +4791,18 @@ vboxAttachDisplay(virDomainDefPtr def, vboxGlobalData *data, IMachine *machine)
|
||||
if ((def->graphics[i]->type == VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP) &&
|
||||
(guiPresent == 0)) {
|
||||
guiPresent = 1;
|
||||
if (def->graphics[i]->data.desktop.display) {
|
||||
guiDisplay = strdup(def->graphics[i]->data.desktop.display);
|
||||
if (guiDisplay == NULL) {
|
||||
virReportOOMError();
|
||||
if (VIR_STRDUP(guiDisplay, def->graphics[i]->data.desktop.display) < 0) {
|
||||
/* just don't go to cleanup yet as it is ok to have
|
||||
* guiDisplay as NULL and we check it below if it
|
||||
* exist and then only use it there
|
||||
*/
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ((def->graphics[i]->type == VIR_DOMAIN_GRAPHICS_TYPE_SDL) &&
|
||||
(sdlPresent == 0)) {
|
||||
sdlPresent = 1;
|
||||
if (def->graphics[i]->data.sdl.display) {
|
||||
sdlDisplay = strdup(def->graphics[i]->data.sdl.display);
|
||||
if (sdlDisplay == NULL) {
|
||||
virReportOOMError();
|
||||
if (VIR_STRDUP(sdlDisplay, def->graphics[i]->data.sdl.display) < 0) {
|
||||
/* just don't go to cleanup yet as it is ok to have
|
||||
* sdlDisplay as NULL and we check it below if it
|
||||
* exist and then only use it there
|
||||
@ -4834,7 +4810,6 @@ vboxAttachDisplay(virDomainDefPtr def, vboxGlobalData *data, IMachine *machine)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ((vrdpPresent == 1) && (guiPresent == 0) && (sdlPresent == 0)) {
|
||||
/* store extradata key that frontend is set to vrdp */
|
||||
@ -5233,7 +5208,8 @@ vboxDomainUndefineFlags(virDomainPtr dom, unsigned int flags)
|
||||
{
|
||||
PRUnichar *hddcnameUtf16 = NULL;
|
||||
|
||||
char *hddcname = strdup("IDE");
|
||||
char *hddcname;
|
||||
ignore_value(VIR_STRDUP(hddcname, "IDE"));
|
||||
VBOX_UTF8_TO_UTF16(hddcname, &hddcnameUtf16);
|
||||
VIR_FREE(hddcname);
|
||||
|
||||
@ -5392,12 +5368,8 @@ static int vboxDomainAttachDeviceImpl(virDomainPtr dom,
|
||||
return ret;
|
||||
}
|
||||
|
||||
def->os.type = strdup("hvm");
|
||||
|
||||
if (def->os.type == NULL) {
|
||||
virReportOOMError();
|
||||
if (VIR_STRDUP(def->os.type, "hvm") < 0)
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
dev = virDomainDeviceDefParse(xml, def, data->caps, data->xmlopt,
|
||||
VIR_DOMAIN_XML_INACTIVE);
|
||||
@ -5627,12 +5599,8 @@ static int vboxDomainDetachDevice(virDomainPtr dom, const char *xml) {
|
||||
return ret;
|
||||
}
|
||||
|
||||
def->os.type = strdup("hvm");
|
||||
|
||||
if (def->os.type == NULL) {
|
||||
virReportOOMError();
|
||||
if (VIR_STRDUP(def->os.type, "hvm") < 0)
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
dev = virDomainDeviceDefParse(xml, def, data->caps, data->xmlopt,
|
||||
VIR_DOMAIN_XML_INACTIVE);
|
||||
@ -6057,9 +6025,10 @@ vboxDomainSnapshotGetXMLDesc(virDomainSnapshotPtr snapshot,
|
||||
if (!(snap = vboxDomainSnapshotGet(data, dom, machine, snapshot->name)))
|
||||
goto cleanup;
|
||||
|
||||
if (VIR_ALLOC(def) < 0
|
||||
|| !(def->name = strdup(snapshot->name)))
|
||||
if (VIR_ALLOC(def) < 0)
|
||||
goto no_memory;
|
||||
if (VIR_STRDUP(def->name, snapshot->name) < 0)
|
||||
goto cleanup;
|
||||
|
||||
rc = snap->vtbl->GetDescription(snap, &str16);
|
||||
if (NS_FAILED(rc)) {
|
||||
@ -6071,10 +6040,11 @@ vboxDomainSnapshotGetXMLDesc(virDomainSnapshotPtr snapshot,
|
||||
if (str16) {
|
||||
VBOX_UTF16_TO_UTF8(str16, &str8);
|
||||
VBOX_UTF16_FREE(str16);
|
||||
def->description = strdup(str8);
|
||||
if (VIR_STRDUP(def->description, str8) < 0) {
|
||||
VBOX_UTF8_FREE(str8);
|
||||
goto cleanup;
|
||||
}
|
||||
VBOX_UTF8_FREE(str8);
|
||||
if (!def->description)
|
||||
goto no_memory;
|
||||
}
|
||||
|
||||
rc = snap->vtbl->GetTimeStamp(snap, ×tamp);
|
||||
@ -6104,11 +6074,12 @@ vboxDomainSnapshotGetXMLDesc(virDomainSnapshotPtr snapshot,
|
||||
}
|
||||
VBOX_UTF16_TO_UTF8(str16, &str8);
|
||||
VBOX_UTF16_FREE(str16);
|
||||
def->parent = strdup(str8);
|
||||
if (VIR_STRDUP(def->parent, str8) < 0) {
|
||||
VBOX_UTF8_FREE(str8);
|
||||
if (!def->parent)
|
||||
goto no_memory;
|
||||
}
|
||||
VBOX_UTF8_FREE(str8);
|
||||
}
|
||||
|
||||
rc = snap->vtbl->GetOnline(snap, &online);
|
||||
if (NS_FAILED(rc)) {
|
||||
@ -6254,12 +6225,12 @@ vboxDomainSnapshotListNames(virDomainPtr dom,
|
||||
}
|
||||
VBOX_UTF16_TO_UTF8(nameUtf16, &name);
|
||||
VBOX_UTF16_FREE(nameUtf16);
|
||||
names[i] = strdup(name);
|
||||
VBOX_UTF8_FREE(name);
|
||||
if (!names[i]) {
|
||||
if (VIR_STRDUP(names[i], name) < 0) {
|
||||
virReportOOMError();
|
||||
VBOX_UTF8_FREE(name);
|
||||
goto cleanup;
|
||||
}
|
||||
VBOX_UTF8_FREE(name);
|
||||
}
|
||||
|
||||
if (count <= nameslen)
|
||||
@ -7536,12 +7507,8 @@ static int vboxConnectListNetworks(virConnectPtr conn, char **const names, int n
|
||||
VBOX_UTF16_TO_UTF8(nameUtf16, &nameUtf8);
|
||||
|
||||
VIR_DEBUG("nnames[%d]: %s", ret, nameUtf8);
|
||||
names[ret] = strdup(nameUtf8);
|
||||
if (names[ret] == NULL) {
|
||||
virReportOOMError();
|
||||
} else {
|
||||
if (VIR_STRDUP(names[ret], nameUtf8) == 0)
|
||||
ret++;
|
||||
}
|
||||
|
||||
VBOX_UTF8_FREE(nameUtf8);
|
||||
VBOX_UTF16_FREE(nameUtf16);
|
||||
@ -7618,12 +7585,8 @@ static int vboxConnectListDefinedNetworks(virConnectPtr conn, char **const names
|
||||
VBOX_UTF16_TO_UTF8(nameUtf16, &nameUtf8);
|
||||
|
||||
VIR_DEBUG("nnames[%d]: %s", ret, nameUtf8);
|
||||
names[ret] = strdup(nameUtf8);
|
||||
if (names[ret] == NULL) {
|
||||
virReportOOMError();
|
||||
} else {
|
||||
if (VIR_STRDUP(names[ret], nameUtf8) == 0)
|
||||
ret++;
|
||||
}
|
||||
|
||||
VBOX_UTF8_FREE(nameUtf8);
|
||||
VBOX_UTF16_FREE(nameUtf16);
|
||||
@ -8124,8 +8087,7 @@ static char *vboxNetworkGetXMLDesc(virNetworkPtr network,
|
||||
networkInterface->vtbl->GetInterfaceType(networkInterface, &interfaceType);
|
||||
|
||||
if (interfaceType == HostNetworkInterfaceType_HostOnly) {
|
||||
def->name = strdup(network->name);
|
||||
if (def->name != NULL) {
|
||||
if (VIR_STRDUP(def->name, network->name) == 0) {
|
||||
PRUnichar *networkNameUtf16 = NULL;
|
||||
IDHCPServer *dhcpServer = NULL;
|
||||
vboxIID vboxnet0IID = VBOX_IID_INITIALIZER;
|
||||
@ -8182,11 +8144,9 @@ static char *vboxNetworkGetXMLDesc(virNetworkPtr network,
|
||||
|
||||
ipdef->nhosts = 1;
|
||||
if (VIR_ALLOC_N(ipdef->hosts, ipdef->nhosts) >=0) {
|
||||
ipdef->hosts[0].name = strdup(network->name);
|
||||
if (ipdef->hosts[0].name == NULL) {
|
||||
if (VIR_STRDUP(ipdef->hosts[0].name, network->name) < 0) {
|
||||
VIR_FREE(ipdef->hosts);
|
||||
ipdef->nhosts = 0;
|
||||
virReportOOMError();
|
||||
} else {
|
||||
PRUnichar *macAddressUtf16 = NULL;
|
||||
PRUnichar *ipAddressUtf16 = NULL;
|
||||
@ -8303,14 +8263,9 @@ static int vboxConnectListStoragePools(virConnectPtr conn ATTRIBUTE_UNUSED,
|
||||
char **const names, int nnames) {
|
||||
int numActive = 0;
|
||||
|
||||
if (nnames == 1) {
|
||||
names[numActive] = strdup("default-pool");
|
||||
if (names[numActive] == NULL) {
|
||||
virReportOOMError();
|
||||
} else {
|
||||
if (nnames == 1 &&
|
||||
VIR_STRDUP(names[numActive], "default-pool") > 0)
|
||||
numActive++;
|
||||
}
|
||||
}
|
||||
return numActive;
|
||||
}
|
||||
|
||||
@ -8392,12 +8347,8 @@ static int vboxStoragePoolListVolumes(virStoragePoolPtr pool, char **const names
|
||||
|
||||
if (nameUtf8) {
|
||||
VIR_DEBUG("nnames[%d]: %s", numActive, nameUtf8);
|
||||
names[numActive] = strdup(nameUtf8);
|
||||
if (names[numActive] == NULL) {
|
||||
virReportOOMError();
|
||||
} else {
|
||||
if (VIR_STRDUP(names[numActive], nameUtf8) > 0)
|
||||
numActive++;
|
||||
}
|
||||
|
||||
VBOX_UTF8_FREE(nameUtf8);
|
||||
}
|
||||
@ -9014,12 +8965,10 @@ static char *vboxStorageVolGetXMLDesc(virStorageVolPtr vol, unsigned int flags)
|
||||
else
|
||||
defOk = 0;
|
||||
|
||||
def.name = strdup(vol->name);
|
||||
if (!(def.name && defOk))
|
||||
if (VIR_STRDUP(def.name, vol->name) < 0)
|
||||
defOk = 0;
|
||||
|
||||
def.key = strdup(vol->key);
|
||||
if (!(def.key && defOk))
|
||||
if (VIR_STRDUP(def.key, vol->key) < 0)
|
||||
defOk = 0;
|
||||
|
||||
rc = hardDisk->vtbl->GetFormat(hardDisk, &hddFormatUtf16);
|
||||
@ -9095,9 +9044,7 @@ static char *vboxStorageVolGetPath(virStorageVolPtr vol) {
|
||||
VBOX_UTF16_TO_UTF8(hddLocationUtf16, &hddLocationUtf8);
|
||||
if (hddLocationUtf8) {
|
||||
|
||||
ret = strdup(hddLocationUtf8);
|
||||
if (!ret)
|
||||
virReportOOMError();
|
||||
ignore_value(VIR_STRDUP(ret, hddLocationUtf8));
|
||||
|
||||
VIR_DEBUG("Storage Volume Name: %s", vol->name);
|
||||
VIR_DEBUG("Storage Volume Path: %s", hddLocationUtf8);
|
||||
@ -9218,14 +9165,14 @@ vboxDomainScreenshot(virDomainPtr dom,
|
||||
goto endjob;
|
||||
}
|
||||
|
||||
if (VIR_STRDUP(ret, "image/png") < 0)
|
||||
goto endjob;
|
||||
|
||||
if (virFDStreamOpenFile(st, tmp, 0, 0, O_RDONLY) < 0) {
|
||||
virReportError(VIR_ERR_OPERATION_FAILED, "%s",
|
||||
_("unable to open stream"));
|
||||
goto endjob;
|
||||
VIR_FREE(ret);
|
||||
}
|
||||
|
||||
ret = strdup("image/png");
|
||||
|
||||
endjob:
|
||||
VIR_FREE(screenData);
|
||||
VBOX_RELEASE(display);
|
||||
|
Loading…
x
Reference in New Issue
Block a user