GCC_2s (cc),
GCPP_2s (path),
off);
- GNUNET_assert (off < path->entries_length); /* FIXME: This assertion fails sometimes! */
+ GNUNET_assert (off < path->entries_length); /* FIXME: #4909: This assertion fails sometimes! */
entry = path->entries[off];
GNUNET_assert (cc == entry->cc);
entry->cc = NULL;
path->entries_length = old_len + i + 1;
recalculate_path_desirability (path);
+ if (NULL != entry->cc)
+ force = GNUNET_YES;
path->hn = GCP_attach_path (peers[i],
path,
old_len + (unsigned int) i,
force);
if (NULL != path->hn)
break;
- GNUNET_assert (NULL == entry->cc);
GCP_path_entry_remove (entry->peer,
entry,
old_len + i);
unsigned int ibf_order;
ibf_order = 2;
- while ( (1<<ibf_order) < (IBF_ALPHA * diff) ||
- ((1<<ibf_order) < SE_IBF_HASH_NUM) )
+ while ( ( (1<<ibf_order) < (IBF_ALPHA * diff) ||
+ ((1<<ibf_order) < SE_IBF_HASH_NUM) ) &&
+ (ibf_order < MAX_IBF_ORDER) )
ibf_order++;
- if (ibf_order > MAX_IBF_ORDER)
- ibf_order = MAX_IBF_ORDER;
// add one for correction
return ibf_order + 1;
}
strata_estimator_difference (const struct StrataEstimator *se1,
const struct StrataEstimator *se2)
{
- int i;
unsigned int count;
GNUNET_assert (se1->strata_count == se2->strata_count);
count = 0;
- for (i = se1->strata_count - 1; i >= 0; i--)
+ for (int i = se1->strata_count - 1; i >= 0; i--)
{
struct InvertibleBloomFilter *diff;
/* number of keys decoded from the ibf */
- int ibf_count;
/* FIXME: implement this without always allocating new IBFs */
diff = ibf_dup (se1->strata[i]);
ibf_subtract (diff, se2->strata[i]);
- for (ibf_count = 0; GNUNET_YES; ibf_count++)
+ for (int ibf_count = 0; GNUNET_YES; ibf_count++)
{
int more;