X-Git-Url: https://git.tokkee.org/?p=pkg-rrdtool.git;a=blobdiff_plain;f=src%2Frrd_create.c;h=ff943f5a81e4f9ecbea721bf35a74d407b475299;hp=50e26652024194c19887c20fe33a2963220d1269;hb=d9822df7ed5e8122cf3a62e4e99678e94007f504;hpb=9f0813b4758a59be4d061e12efd7236bccfe7ac3 diff --git a/src/rrd_create.c b/src/rrd_create.c index 50e2665..ff943f5 100644 --- a/src/rrd_create.c +++ b/src/rrd_create.c @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.4.7 Copyright by Tobi Oetiker, 1997-2012 + * RRDtool 1.4.8 Copyright by Tobi Oetiker, 1997-2013 ***************************************************************************** * rrd_create.c creates new rrds *****************************************************************************/ @@ -11,6 +11,8 @@ #include "rrd_tool.h" #include "rrd_rpncalc.h" #include "rrd_hw.h" +#include "rrd_client.h" +#include "../rrd_config.h" #include "rrd_is_thread_safe.h" static int opt_no_overwrite = 0; @@ -441,6 +443,12 @@ int rrd_create_r( row_cnt = atoi(token); if (row_cnt <= 0) rrd_set_error("Invalid row count: %i", row_cnt); +#if SIZEOF_TIME_T == 4 + if ((long long) pdp_step * rrd.rra_def[rrd.stat_head->rra_cnt].pdp_cnt * row_cnt > 4294967296){ + /* database timespan > 2**32, would overflow time_t */ + rrd_set_error("The time spanned by the database is too large: must be <= 4294967296 seconds"); + } +#endif rrd.rra_def[rrd.stat_head->rra_cnt].row_cnt = row_cnt; break; }