summaryrefslogtreecommitdiff
path: root/databases/rrdtool/files
diff options
context:
space:
mode:
Diffstat (limited to 'databases/rrdtool/files')
-rw-r--r--databases/rrdtool/files/patch-configure11
-rw-r--r--databases/rrdtool/files/patch-src__rrd_graph.c68
2 files changed, 79 insertions, 0 deletions
diff --git a/databases/rrdtool/files/patch-configure b/databases/rrdtool/files/patch-configure
new file mode 100644
index 000000000000..baf59b07e1af
--- /dev/null
+++ b/databases/rrdtool/files/patch-configure
@@ -0,0 +1,11 @@
+--- configure.orig 2013-05-23 09:55:19.000000000 +0200
++++ configure 2014-07-15 19:59:43.000000000 +0200
+@@ -12846,7 +12846,7 @@
+
+
+ if test "x$GCC" = "xyes"; then
+- for flag in -fno-strict-aliasing -Wall -std=gnu99 -pedantic -Wundef -Wshadow -Wpointer-arith -Wcast-align -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -Winline -Wold-style-definition -W; do
++ for flag in -fno-strict-aliasing -Wall -std=gnu99 -pedantic -Wundef -Wshadow -Wpointer-arith -Wcast-align -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -Winline -Wold-style-definition; do
+ oCFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS $flag"
+ cachename=rd_cv_gcc_flag_`echo $flag|sed 's/[^A-Za-z]/_/g'`
diff --git a/databases/rrdtool/files/patch-src__rrd_graph.c b/databases/rrdtool/files/patch-src__rrd_graph.c
new file mode 100644
index 000000000000..5cccdcf53c73
--- /dev/null
+++ b/databases/rrdtool/files/patch-src__rrd_graph.c
@@ -0,0 +1,68 @@
+--- src/rrd_graph.c.orig 2013-05-23 09:55:07.000000000 +0200
++++ src/rrd_graph.c 2014-07-20 22:11:58.000000000 +0200
+@@ -305,6 +305,52 @@
+
+ #undef conv_if
+
++
++static int bad_format_imginfo(
++ char *fmt)
++{
++ char *ptr;
++ int n = 0;
++
++ ptr = fmt;
++ while (*ptr != '\0')
++ if (*ptr++ == '%') {
++
++ /* line cannot end with percent char */
++ if (*ptr == '\0')
++ return 1;
++ /* '%%' is allowed */
++ if (*ptr == '%')
++ ptr++;
++ /* '%s', '%S' are allowed */
++ else if (*ptr == 's' || *ptr == 'S') {
++ n = 1;
++ ptr++;
++ }
++
++ /* or else '% 4lu' and such are allowed */
++ else {
++ /* optional padding character */
++ if (*ptr == ' ')
++ ptr++;
++ /* This should take care of 'm' */
++ while (*ptr >= '0' && *ptr <= '9')
++ ptr++;
++ /* 'lu' must follow here */
++ if (*ptr++ != 'l')
++ return 1;
++ if (*ptr == 'u')
++ ptr++;
++ else
++ return 1;
++ n++;
++ }
++ }
++
++ return (n != 3);
++}
++
++
+ int im_free(
+ image_desc_t *im)
+ {
+@@ -4022,6 +4068,12 @@
+ char *path;
+ char *filename;
+
++ if (bad_format_imginfo(im.imginfo)) {
++ rrd_info_free(im.grinfo);
++ im_free(&im);
++ rrd_set_error("bad format for imginfo");
++ return NULL;
++ }
+ path = strdup(im.graphfile);
+ filename = basename(path);
+ info.u_str =