From: Michael Tremer Date: Tue, 6 Apr 2021 16:19:04 +0000 (+0000) Subject: arch: Refactor pakfire_arch_machine and allocate string on heap X-Git-Tag: 0.9.28~1285^2~423 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b55dafd48c88db42f86785c445c5db41b05a8f7e;p=pakfire.git arch: Refactor pakfire_arch_machine and allocate string on heap Signed-off-by: Michael Tremer --- diff --git a/src/libpakfire/arch.c b/src/libpakfire/arch.c index 03bf28dd5..6b971f4a8 100644 --- a/src/libpakfire/arch.c +++ b/src/libpakfire/arch.c @@ -138,15 +138,18 @@ PAKFIRE_EXPORT char* pakfire_arch_machine(const char* arch, const char* vendor) if (!vendor) vendor = "unknown"; + char* buffer = NULL; + // Format string - char buffer[STRING_SIZE]; - snprintf(buffer, STRING_SIZE - 1, "%s-%s-linux-gnu", arch, vendor); + int r = asprintf(&buffer, "%s-%s-linux-gnu", arch, vendor); + if (r < 0) + return NULL; // Make everything lowercase - for (unsigned int i = 0; i < strlen(buffer); i++) + for (unsigned int i = 0; i <= (unsigned int)r; i++) buffer[i] = tolower(buffer[i]); - return strdup(buffer); + return buffer; } static const char* __pakfire_arch_native = NULL;