From: Michael Tremer Date: Mon, 19 Apr 2021 15:04:44 +0000 (+0000) Subject: pakfire_path_join: Implicitely handle size argument X-Git-Tag: 0.9.28~1285^2~327 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9986509376e86c2a63dad629e0e23342559e4fd5;p=pakfire.git pakfire_path_join: Implicitely handle size argument Signed-off-by: Michael Tremer --- diff --git a/src/libpakfire/archive.c b/src/libpakfire/archive.c index bf00a58a1..856325243 100644 --- a/src/libpakfire/archive.c +++ b/src/libpakfire/archive.c @@ -770,7 +770,7 @@ PAKFIRE_EXPORT char* pakfire_archive_extraction_path(PakfireArchive archive, con char* nevra = pakfire_package_get_nevra(pkg); // Append package name and version to path - int r = pakfire_path_join(prefix, sizeof(prefix), target, nevra); + int r = pakfire_path_join(prefix, target, nevra); // Cleanup pakfire_package_unref(pkg); @@ -821,7 +821,7 @@ static int pakfire_archive_extract_entry(PakfireArchive archive, // Prepend the prefix if (extractor->prefix) { - r = pakfire_path_join(buffer, sizeof(buffer) - 1, extractor->prefix, path); + r = pakfire_path_join(buffer, extractor->prefix, path); if (r < 0) goto ERROR; @@ -830,7 +830,7 @@ static int pakfire_archive_extract_entry(PakfireArchive archive, // Update hardlink destination const char* link = archive_entry_hardlink(entry); if (link) { - r = pakfire_path_join(buffer, sizeof(buffer) - 1, extractor->prefix, link); + r = pakfire_path_join(buffer, extractor->prefix, link); if (r < 0) goto ERROR; diff --git a/src/libpakfire/execute.c b/src/libpakfire/execute.c index e5cba0908..c3db19a71 100644 --- a/src/libpakfire/execute.c +++ b/src/libpakfire/execute.c @@ -489,7 +489,7 @@ PAKFIRE_EXPORT int pakfire_execute_script(Pakfire pakfire, const char* script, c int r; // Write the scriptlet to disk - r = pakfire_path_join(path, sizeof(path) - 1, root, "tmp/.pakfire-script.XXXXXX"); + r = pakfire_path_join(path, root, "tmp/.pakfire-script.XXXXXX"); if (r < 0) goto out; diff --git a/src/libpakfire/include/pakfire/util.h b/src/libpakfire/include/pakfire/util.h index 2acd086fa..9cca0834b 100644 --- a/src/libpakfire/include/pakfire/util.h +++ b/src/libpakfire/include/pakfire/util.h @@ -56,7 +56,10 @@ int pakfire_read_file_into_buffer(FILE* f, char** buffer, size_t* len); char* pakfire_hexlify(const char* digest, const size_t length); -int pakfire_path_join(char* dest, size_t length, +#define pakfire_path_join(dest, first, second) \ + __pakfire_path_join(dest, sizeof(dest) - 1, first, second) + +int __pakfire_path_join(char* dest, size_t length, const char* first, const char* second); const char* pakfire_path_relpath(const char* root, const char* path); diff --git a/src/libpakfire/key.c b/src/libpakfire/key.c index 08f47e4b8..64a16f7f2 100644 --- a/src/libpakfire/key.c +++ b/src/libpakfire/key.c @@ -68,7 +68,7 @@ gpgme_ctx_t pakfire_get_gpgctx(Pakfire pakfire) { // Use GPG const char* path = pakfire_get_path(pakfire); - int r = pakfire_path_join(home, sizeof(home) - 1, path, "etc/pakfire/gnupg"); + int r = pakfire_path_join(home, path, "etc/pakfire/gnupg"); if (r < 0) goto FAIL; diff --git a/src/libpakfire/pakfire.c b/src/libpakfire/pakfire.c index 7a57c5d1e..6e74f67f3 100644 --- a/src/libpakfire/pakfire.c +++ b/src/libpakfire/pakfire.c @@ -161,7 +161,7 @@ static int pakfire_mount(Pakfire pakfire) { DEBUG(pakfire, "Mounting /%s\n", mp->target); - r = pakfire_path_join(target, sizeof(target) - 1, pakfire->path, mp->target); + r = pakfire_path_join(target, pakfire->path, mp->target); if (r < 0) return r; @@ -785,7 +785,7 @@ PAKFIRE_EXPORT char* pakfire_make_path(Pakfire pakfire, const char* path) { while (path && *path == '/') path++; - int r = pakfire_path_join(buffer, sizeof(buffer) - 1, pakfire->path, path); + int r = pakfire_path_join(buffer, pakfire->path, path); if (r < 0) return NULL; diff --git a/src/libpakfire/util.c b/src/libpakfire/util.c index 3982b0a1e..95a7e8217 100644 --- a/src/libpakfire/util.c +++ b/src/libpakfire/util.c @@ -286,7 +286,7 @@ char* pakfire_format_date(time_t t) { return pakfire_strftime("%Y-%m-%d", t); } -int pakfire_path_join(char* dest, size_t length, +int __pakfire_path_join(char* dest, size_t length, const char* first, const char* second) { if (!second) return snprintf(dest, length, "%s", first);