]> git.ipfire.org Git - pakfire.git/commitdiff
python: Prevent crash when some repository values are unset
authorMichael Tremer <michael.tremer@ipfire.org>
Mon, 22 Jan 2018 18:52:46 +0000 (19:52 +0100)
committerMichael Tremer <michael.tremer@ipfire.org>
Mon, 22 Jan 2018 18:52:46 +0000 (19:52 +0100)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/_pakfire/repo.c

index bceba395613b1117af11ec7d81c4e65b8b9383a3..3e20e839eb2b7860df8637de034f06efd1e362e0 100644 (file)
@@ -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) {