diff options
author | John Ferlan <jferlan@redhat.com> | 2018-11-20 11:56:47 -0500 |
---|---|---|
committer | John Ferlan <jferlan@redhat.com> | 2018-11-20 13:24:13 -0500 |
commit | 2b4bd07e0a2239cd9a4da49b9bd5229ac46e7875 (patch) | |
tree | 96feb708c856809ac101758efa928da24fb7f9d1 /libvirt-override.c | |
parent | 1479577af3296f2a3f70389a3dacb8a8082a0fa7 (diff) | |
download | libvirt-python-2b4bd07e0a2239cd9a4da49b9bd5229ac46e7875.tar.gz |
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 <jferlan@redhat.com>
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>
Diffstat (limited to 'libvirt-override.c')
-rw-r--r-- | libvirt-override.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/libvirt-override.c b/libvirt-override.c index 0353306..8748101 100644 --- a/libvirt-override.c +++ b/libvirt-override.c @@ -7861,6 +7861,11 @@ libvirt_virDomainMigrate3(PyObject *self ATTRIBUTE_UNUSED, domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain); dconn = (virConnectPtr) PyvirConnect_Get(pyobj_dconn); + if (!PyDict_Check(dict)) { + PyErr_Format(PyExc_TypeError, "migration params must be a dictionary"); + return NULL; + } + if (virPyDictToTypedParams(dict, ¶ms, &nparams, virPyDomainMigrate3Params, VIR_N_ELEMENTS(virPyDomainMigrate3Params)) < 0) { @@ -7894,6 +7899,11 @@ libvirt_virDomainMigrateToURI3(PyObject *self ATTRIBUTE_UNUSED, domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain); + if (!PyDict_Check(dict)) { + PyErr_Format(PyExc_TypeError, "migration params must be a dictionary"); + return NULL; + } + if (virPyDictToTypedParams(dict, ¶ms, &nparams, virPyDomainMigrate3Params, VIR_N_ELEMENTS(virPyDomainMigrate3Params)) < 0) { @@ -8776,6 +8786,9 @@ libvirt_virDomainBlockCopy(PyObject *self ATTRIBUTE_UNUSED, VIR_N_ELEMENTS(virPyDomainBlockCopyParams)) < 0) { return NULL; } + } else { + PyErr_Format(PyExc_TypeError, "block params must be a dictionary"); + return NULL; } dom = (virDomainPtr) PyvirDomain_Get(pyobj_dom); |