]> xenbits.xensource.com Git - libvirt.git/commitdiff
vbox: Fix memleak in _virtualboxCreateMachine()
authorMichal Privoznik <mprivozn@redhat.com>
Sat, 21 Jan 2023 09:25:42 +0000 (10:25 +0100)
committerMichal Privoznik <mprivozn@redhat.com>
Mon, 23 Jan 2023 15:16:07 +0000 (16:16 +0100)
The _virtualboxCreateMachine() function allocates
@createFlagsUtf16 but never frees it.

==12481== 236 bytes in 2 blocks are definitely lost in loss record 2,060 of 2,216
==12481==    at 0x48407E5: malloc (vg_replace_malloc.c:393)
==12481==    by 0xB6C6D1B: RTStrToUtf16Tag (utf-8.cpp:1033)
==12481==    by 0xB4DB500: _virtualboxCreateMachine (vbox_tmpl.c:634)
==12481==    by 0xB4E68A3: vboxDomainDefineXMLFlags (vbox_common.c:1976)
==12481==    by 0x4C7DF83: virDomainDefineXMLFlags (libvirt-domain.c:6666)
==12481==    by 0x13C2DA: remoteDispatchDomainDefineXMLFlags (remote_daemon_dispatch_stubs.h:5271)
==12481==    by 0x13C265: remoteDispatchDomainDefineXMLFlagsHelper (remote_daemon_dispatch_stubs.h:5252)
==12481==    by 0x4AD9DF7: virNetServerProgramDispatchCall (virnetserverprogram.c:428)
==12481==    by 0x4AD9931: virNetServerProgramDispatch (virnetserverprogram.c:302)
==12481==    by 0x4AE28AC: virNetServerProcessMsg (virnetserver.c:135)
==12481==    by 0x4AE2972: virNetServerHandleJob (virnetserver.c:155)
==12481==    by 0x49BC275: virThreadPoolWorker (virthreadpool.c:164)

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Martin Kletzander <mkletzan@redhat.com>
src/vbox/vbox_tmpl.c

index 52b1c93b6d0f4b6b7764fd0459fbf2835f268727..91609741e3a12f770de1cde58dc91b8c80e60d9e 100644 (file)
@@ -626,6 +626,7 @@ _virtualboxCreateMachine(struct _vboxDriver *data, virDomainDef *def, IMachine *
                                             machine);
     VIR_FREE(createFlags);
     VBOX_UTF16_FREE(machineNameUtf16);
+    VBOX_UTF16_FREE(createFlagsUtf16);
     vboxIIDUnalloc(&iid);
     return rc;
 }