From: Michael Tremer Date: Fri, 12 Mar 2021 19:48:54 +0000 (+0000) Subject: _pakfire: Catch any errors when creating a repo failed X-Git-Tag: 0.9.28~1285^2~544 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=834a9e33a098e738da243e3dcf56dabd703ababe;p=pakfire.git _pakfire: Catch any errors when creating a repo failed Signed-off-by: Michael Tremer --- diff --git a/src/_pakfire/repo.c b/src/_pakfire/repo.c index 3fb15b40d..cee9054c7 100644 --- a/src/_pakfire/repo.c +++ b/src/_pakfire/repo.c @@ -48,7 +48,8 @@ static PyObject* Repo_new(PyTypeObject* type, PyObject* args, PyObject* kwds) { } static void Repo_dealloc(RepoObject* self) { - pakfire_repo_unref(self->repo); + if (self->repo) + pakfire_repo_unref(self->repo); Py_TYPE(self)->tp_free((PyObject *)self); } @@ -63,6 +64,11 @@ static int Repo_init(RepoObject* self, PyObject* args, PyObject* kwds) { // Create a new repository self->repo = pakfire_repo_create(pakfire->pakfire, name); + if (!self->repo) { + PyErr_SetFromErrno(PyExc_OSError); + return -1; + } + self->clean = clean; return 0;