From: Michael Tremer Date: Wed, 13 Jan 2021 12:07:22 +0000 (+0000) Subject: pakfire: Check if path is absolute X-Git-Tag: 0.9.28~1285^2~883 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d971fe19a26049d5a63f8de90ba9d07443411a03;p=pakfire.git pakfire: Check if path is absolute Signed-off-by: Michael Tremer --- diff --git a/src/_pakfire/pakfire.c b/src/_pakfire/pakfire.c index 7a7db1db3..88e1d9b1a 100644 --- a/src/_pakfire/pakfire.c +++ b/src/_pakfire/pakfire.c @@ -58,7 +58,7 @@ static int Pakfire_init(PakfireObject* self, PyObject* args, PyObject* kwds) { switch (errno) { // Invalid architecture case -EINVAL: - PyErr_SetString(PyExc_ValueError, "Invalid architecture"); + PyErr_SetString(PyExc_ValueError, "Invalid architecture or path"); break; // path does not exist diff --git a/src/libpakfire/pakfire.c b/src/libpakfire/pakfire.c index ed89ac4c8..6b39fd322 100644 --- a/src/libpakfire/pakfire.c +++ b/src/libpakfire/pakfire.c @@ -92,6 +92,12 @@ PAKFIRE_EXPORT Pakfire pakfire_create(const char* path, const char* arch) { return NULL; } + // Path must be absolute + if (pakfire_string_startswith(path, "/")) { + errno = -EINVAL; + return NULL; + } + // Check if path exists if (!pakfire_path_isdir(path)) { errno = -ENOENT;