Skip to content

Commit 2b4bd07

Browse files
committed
Add check for params, nparams being a dictionary
If PyDict_Check fails, we should force an error rather than blindly continuing on. Signed-off-by: John Ferlan <[email protected]> Reviewed-by: Pavel Hrdina <[email protected]>
1 parent 1479577 commit 2b4bd07

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

libvirt-override.c

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7861,6 +7861,11 @@ libvirt_virDomainMigrate3(PyObject *self ATTRIBUTE_UNUSED,
78617861
domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain);
78627862
dconn = (virConnectPtr) PyvirConnect_Get(pyobj_dconn);
78637863

7864+
if (!PyDict_Check(dict)) {
7865+
PyErr_Format(PyExc_TypeError, "migration params must be a dictionary");
7866+
return NULL;
7867+
}
7868+
78647869
if (virPyDictToTypedParams(dict, &params, &nparams,
78657870
virPyDomainMigrate3Params,
78667871
VIR_N_ELEMENTS(virPyDomainMigrate3Params)) < 0) {
@@ -7894,6 +7899,11 @@ libvirt_virDomainMigrateToURI3(PyObject *self ATTRIBUTE_UNUSED,
78947899

78957900
domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain);
78967901

7902+
if (!PyDict_Check(dict)) {
7903+
PyErr_Format(PyExc_TypeError, "migration params must be a dictionary");
7904+
return NULL;
7905+
}
7906+
78977907
if (virPyDictToTypedParams(dict, &params, &nparams,
78987908
virPyDomainMigrate3Params,
78997909
VIR_N_ELEMENTS(virPyDomainMigrate3Params)) < 0) {
@@ -8776,6 +8786,9 @@ libvirt_virDomainBlockCopy(PyObject *self ATTRIBUTE_UNUSED,
87768786
VIR_N_ELEMENTS(virPyDomainBlockCopyParams)) < 0) {
87778787
return NULL;
87788788
}
8789+
} else {
8790+
PyErr_Format(PyExc_TypeError, "block params must be a dictionary");
8791+
return NULL;
87798792
}
87808793

87818794
dom = (virDomainPtr) PyvirDomain_Get(pyobj_dom);

0 commit comments

Comments
 (0)