return;
}
+/* hack: htp random range code expects random values in range of 0-RAND_MAX,
+ * but we can get both <0 and >RAND_MAX values from RandomGet
+ */
+static int RandomGetWrap(void)
+{
+ long int r = RandomGet();
+ int r_int = r % (long int)RAND_MAX;
+ return abs(r_int);
+}
+
/*
* We have this splitup so that in case double decoding has been enabled
* for query and path, they would be called first on the callback queue,
if (cfg_prec->randomize) {
int rdrange = cfg_prec->randomize_range;
- long int r = RandomGet();
+ long int r = RandomGetWrap();
cfg_prec->request.inspect_min_size +=
(int) (cfg_prec->request.inspect_min_size *
(r * 1.0 / RAND_MAX - 0.5) * rdrange / 100);
- r = RandomGet();
+ r = RandomGetWrap();
cfg_prec->request.inspect_window +=
(int) (cfg_prec->request.inspect_window *
(r * 1.0 / RAND_MAX - 0.5) * rdrange / 100);
cfg_prec->request.inspect_window);
- r = RandomGet();
+ r = RandomGetWrap();
cfg_prec->response.inspect_min_size +=
(int) (cfg_prec->response.inspect_min_size *
(r * 1.0 / RAND_MAX - 0.5) * rdrange / 100);
- r = RandomGet();
+ r = RandomGetWrap();
cfg_prec->response.inspect_window +=
(int) (cfg_prec->response.inspect_window *
(r * 1.0 / RAND_MAX - 0.5) * rdrange / 100);
&& (stream_config.flags & STREAMTCP_INIT_FLAG_DROP_INVALID));
}
+/* hack: stream random range code expects random values in range of 0-RAND_MAX,
+ * but we can get both <0 and >RAND_MAX values from RandomGet
+ */
+static int RandomGetWrap(void)
+{
+ long int r = RandomGet();
+ int r_int = r % (long int)RAND_MAX;
+ return abs(r_int);
+}
+
/** \brief To initialize the stream global configuration data
*
* \param quiet It tells the mode of operation, if it is TRUE nothing will
}
if (randomize) {
- long int r = RandomGet();
+ long int r = RandomGetWrap();
stream_config.reassembly_toserver_chunk_size +=
(int) (stream_config.reassembly_toserver_chunk_size *
(r * 1.0 / RAND_MAX - 0.5) * rdrange / 100);
}
if (randomize) {
- long int r = RandomGet();
+ long int r = RandomGetWrap();
stream_config.reassembly_toclient_chunk_size +=
(int) (stream_config.reassembly_toclient_chunk_size *
(r * 1.0 / RAND_MAX - 0.5) * rdrange / 100);