From d6598c46383033ecc1cf9af65861bc526ea5256f Mon Sep 17 00:00:00 2001 From: Steve Muir Date: Fri, 2 Dec 2005 19:18:57 +0000 Subject: [PATCH] Fix error handling for get_rspec --- python/vserverimpl.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/python/vserverimpl.c b/python/vserverimpl.c index 7a90cf0..00c8980 100644 --- a/python/vserverimpl.c +++ b/python/vserverimpl.c @@ -54,11 +54,17 @@ get_rspec(PyObject *resources, rspec_t *rspec) PyErr_SetString(PyExc_TypeError, "invalid rspec"); return -1; } - if ((cpu_share = PyMapping_GetItemString(resources, "nm_cpu_share")) && - (cpu_share = PyNumber_Int(cpu_share))) - rspec->cpu_share = PyInt_AsLong(cpu_share); + if ((cpu_share = PyMapping_GetItemString(resources, "nm_cpu_share"))) + { + if (PyInt_Check(cpu_share)) + { + rspec->cpu_share = PyInt_AS_LONG(cpu_share); + return 0; + } + PyErr_SetString(PyExc_TypeError, "nm_cpu_share not an integer"); + } - return 0; + return -1; } /* -- 2.43.0