#include "rrd_rpncalc.h"
#include "rrd_hw.h"
#include "rrd_client.h"
+#include "../rrd_config.h"
#include "rrd_is_thread_safe.h"
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;
}