From a6957b62c2cdc4b9eb100c94d0dd9f9e676aff1a Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Mon, 22 Jan 2018 19:52:46 +0100 Subject: [PATCH] python: Prevent crash when some repository values are unset Signed-off-by: Michael Tremer --- src/_pakfire/repo.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/_pakfire/repo.c b/src/_pakfire/repo.c index bceba3956..3e20e839e 100644 --- a/src/_pakfire/repo.c +++ b/src/_pakfire/repo.c @@ -162,7 +162,10 @@ static int Repo_set_priority(RepoObject* self, PyObject* value) { static PyObject* Repo_get_baseurl(RepoObject* self) { const char* baseurl = pakfire_repo_get_baseurl(self->repo); - return PyUnicode_FromString(baseurl); + if (baseurl) + return PyUnicode_FromString(baseurl); + + Py_RETURN_NONE; } static int Repo_set_baseurl(RepoObject* self, PyObject* value) { @@ -177,7 +180,10 @@ static int Repo_set_baseurl(RepoObject* self, PyObject* value) { static PyObject* Repo_get_keyfile(RepoObject* self) { const char* keyfile = pakfire_repo_get_keyfile(self->repo); - return PyUnicode_FromString(keyfile); + if (keyfile) + return PyUnicode_FromString(keyfile); + + Py_RETURN_NONE; } static int Repo_set_keyfile(RepoObject* self, PyObject* value) { @@ -192,7 +198,10 @@ static int Repo_set_keyfile(RepoObject* self, PyObject* value) { static PyObject* Repo_get_mirrorlist(RepoObject* self) { const char* mirrorlist = pakfire_repo_get_mirrorlist(self->repo); - return PyUnicode_FromString(mirrorlist); + if (mirrorlist) + return PyUnicode_FromString(mirrorlist); + + Py_RETURN_NONE; } static int Repo_set_mirrorlist(RepoObject* self, PyObject* value) { -- 2.39.5