From: Michael Tremer Date: Mon, 27 Jan 2025 16:28:08 +0000 (+0000) Subject: python: Use strings functions to free strings in Package X-Git-Tag: 0.9.30~346 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=97974e4412ede24c8c626c04f4b94d762cf29931;p=pakfire.git python: Use strings functions to free strings in Package Signed-off-by: Michael Tremer --- diff --git a/src/python/package.c b/src/python/package.c index bec769c9..fc0e9396 100644 --- a/src/python/package.c +++ b/src/python/package.c @@ -26,6 +26,7 @@ #include #include #include +#include #include #include "errors.h" @@ -244,12 +245,8 @@ static PyObject* Package_get_groups(PackageObject* self) { PyObject* ret = PyUnicodeList_FromStringArray(groups); // Cleanup - if (groups) { - for (char** group = groups; *group; group++) - free(*group); - - free(groups); - } + if (groups) + pakfire_strings_free(groups); return ret; } @@ -312,12 +309,8 @@ static PyObject* Package_get_build_arches(PackageObject* self) { PyObject* ret = PyUnicodeList_FromStringArray(build_arches); // Cleanup - if (build_arches) { - for (char** build_arch = build_arches; *build_arch; build_arch++) { - free(*build_arch); - } - free(build_arches); - } + if (build_arches) + pakfire_strings_free(build_arches); return ret; } @@ -391,11 +384,9 @@ static PyObject* Package_get_provides(PackageObject* self) { PyObject* list = PyList_FromRelationList(deps); - if (deps) { - for (char** dep = deps; *dep; dep++) - free(*dep); - free(deps); - } + // Cleanup + if (deps) + pakfire_strings_free(deps); return list; } @@ -405,11 +396,9 @@ static PyObject* Package_get_requires(PackageObject* self) { PyObject* list = PyList_FromRelationList(deps); - if (deps) { - for (char** dep = deps; *dep; dep++) - free(*dep); - free(deps); - } + // Cleanup + if (deps) + pakfire_strings_free(deps); return list; } @@ -419,11 +408,9 @@ static PyObject* Package_get_obsoletes(PackageObject* self) { PyObject* list = PyList_FromRelationList(deps); - if (deps) { - for (char** dep = deps; *dep; dep++) - free(*dep); - free(deps); - } + // Cleanup + if (deps) + pakfire_strings_free(deps); return list; } @@ -433,11 +420,9 @@ static PyObject* Package_get_conflicts(PackageObject* self) { PyObject* list = PyList_FromRelationList(deps); - if (deps) { - for (char** dep = deps; *dep; dep++) - free(*dep); - free(deps); - } + // Cleanup + if (deps) + pakfire_strings_free(deps); return list; } @@ -447,11 +432,9 @@ static PyObject* Package_get_recommends(PackageObject* self) { PyObject* list = PyList_FromRelationList(deps); - if (deps) { - for (char** dep = deps; *dep; dep++) - free(*dep); - free(deps); - } + // Cleanup + if (deps) + pakfire_strings_free(deps); return list; } @@ -461,11 +444,9 @@ static PyObject* Package_get_suggests(PackageObject* self) { PyObject* list = PyList_FromRelationList(deps); - if (deps) { - for (char** dep = deps; *dep; dep++) - free(*dep); - free(deps); - } + // Cleanup + if (deps) + pakfire_strings_free(deps); return list; }