A USB filter is stored in a hostdev. The original code doesn't
allocate hostdev->info that is expected to be allocated with hostdev.
So use virDomainHostdevDefAlloc() to allocate both as we expect.
Signed-off-by: Ryota Ozaki <ozaki.ryota(a)gmail.com>
---
src/vbox/vbox_tmpl.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/vbox/vbox_tmpl.c b/src/vbox/vbox_tmpl.c
index 3807a6d..f4cd5cf 100644
--- a/src/vbox/vbox_tmpl.c
+++ b/src/vbox/vbox_tmpl.c
@@ -3333,7 +3333,8 @@ sharedFoldersCleanup:
deviceFilter->vtbl->GetActive(deviceFilter,
&active);
if (active) {
- if (VIR_ALLOC(def->hostdevs[USBFilterCount])
>= 0) {
+ def->hostdevs[USBFilterCount] =
virDomainHostdevDefAlloc();
+ if (def->hostdevs[USBFilterCount]) {
PRUnichar *vendorIdUtf16 = NULL;
char *vendorIdUtf8 = NULL;
unsigned vendorId = 0;
--
1.8.4