it makes no sense allocating an array and then asiging it to a fixed string ...
authoroetiker <oetiker@a5681a0c-68f1-0310-ab6d-d61299d08faa>
Sat, 16 Dec 2006 15:56:26 +0000 (15:56 +0000)
committeroetiker <oetiker@a5681a0c-68f1-0310-ab6d-d61299d08faa>
Sat, 16 Dec 2006 15:56:26 +0000 (15:56 +0000)
this caused stuff to crash badly as long error strings were assigned.

git-svn-id: svn://svn.oetiker.ch/rrdtool/branches/1.2/program@929 a5681a0c-68f1-0310-ab6d-d61299d08faa

src/rrd_not_thread_safe.c

index 2d3b350..7022277 100644 (file)
 #define MAXLEN 4096
 #define ERRBUFLEN 256
 
-static char rrd_error[MAXLEN] = "\0";
-static char rrd_liberror[ERRBUFLEN] = "\0";
+static char rrd_error[MAXLEN+10];
+static char rrd_liberror[ERRBUFLEN+10];
 /* The global context is very useful in the transition period to even
    more thread-safe stuff, it can be used whereever we need a context
    and do not need to worry about concurrency. */
 static struct rrd_context global_ctx = {
-    sizeof(rrd_error),
-    sizeof(rrd_liberror),
+    MAXLEN,
+    ERRBUFLEN,
     rrd_error, 
     rrd_liberror
 };
-#include <stdarg.h>
+/* #include <stdarg.h> */
 
-struct rrd_context *rrd_get_context() {
+struct rrd_context *rrd_get_context(void) {
     return &global_ctx;
 }