summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-admin/logrotate/files/logrotate-3.8.8-noasprintf.patch')
-rw-r--r--app-admin/logrotate/files/logrotate-3.8.8-noasprintf.patch55
1 files changed, 55 insertions, 0 deletions
diff --git a/app-admin/logrotate/files/logrotate-3.8.8-noasprintf.patch b/app-admin/logrotate/files/logrotate-3.8.8-noasprintf.patch
new file mode 100644
index 000000000000..31ad70717bb9
--- /dev/null
+++ b/app-admin/logrotate/files/logrotate-3.8.8-noasprintf.patch
@@ -0,0 +1,55 @@
+diff -Nuar a/config.c b/config.c
+--- a/config.c 2014-10-16 13:12:35.000000000 +0200
++++ b/config.c 2014-11-04 19:28:58.110057096 +0100
+@@ -45,39 +45,6 @@
+ #include "asprintf.c"
+ #endif
+
+-#if !defined(asprintf) && !defined(_FORTIFY_SOURCE)
+-#include <stdarg.h>
+-
+-int asprintf(char **string_ptr, const char *format, ...)
+-{
+- va_list arg;
+- char *str;
+- int size;
+- int rv;
+-
+- va_start(arg, format);
+- size = vsnprintf(NULL, 0, format, arg);
+- size++;
+- va_start(arg, format);
+- str = malloc(size);
+- if (str == NULL) {
+- va_end(arg);
+- /*
+- * Strictly speaking, GNU asprintf doesn't do this,
+- * but the caller isn't checking the return value.
+- */
+- fprintf(stderr, "failed to allocate memory\\n");
+- exit(1);
+- }
+- rv = vsnprintf(str, size, format, arg);
+- va_end(arg);
+-
+- *string_ptr = str;
+- return (rv);
+-}
+-
+-#endif
+-
+ #if !defined(strndup)
+ char *strndup(const char *s, size_t n)
+ {
+diff -Nuar a/logrotate.h b/logrotate.h
+--- a/logrotate.h 2014-10-16 13:12:35.000000000 +0200
++++ b/logrotate.h 2014-11-04 19:29:15.610057147 +0100
+@@ -75,8 +75,5 @@
+ extern int debug;
+
+ int readAllConfigPaths(const char **paths);
+-#if !defined(asprintf) && !defined(_FORTIFY_SOURCE)
+-int asprintf(char **string_ptr, const char *format, ...);
+-#endif
+
+ #endif