Browse Source

Merge pull request #926 from trapexit/modzero

pfrd: fix mod by zero error when all branches are filtered
pull/938/head
trapexit 4 years ago
committed by GitHub
parent
commit
8e47bf4946
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 3
      src/policy_eppfrd.cpp
  2. 3
      src/policy_msppfrd.cpp
  3. 3
      src/policy_pfrd.cpp

3
src/policy_eppfrd.cpp

@ -155,6 +155,9 @@ namespace eppfrd
uint64_t idx; uint64_t idx;
uint64_t threshold; uint64_t threshold;
if(sum_ == 0)
return NULL;
idx = 0; idx = 0;
threshold = RND::rand64(sum_); threshold = RND::rand64(sum_);
for(size_t i = 0; i < branchinfo_.size(); i++) for(size_t i = 0; i < branchinfo_.size(); i++)

3
src/policy_msppfrd.cpp

@ -114,6 +114,9 @@ namespace msppfrd
uint64_t idx; uint64_t idx;
uint64_t threshold; uint64_t threshold;
if(sum_ == 0)
return NULL;
idx = 0; idx = 0;
threshold = RND::rand64(sum_); threshold = RND::rand64(sum_);
for(size_t i = 0; i < branchinfo_.size(); i++) for(size_t i = 0; i < branchinfo_.size(); i++)

3
src/policy_pfrd.cpp

@ -84,6 +84,9 @@ namespace pfrd
uint64_t idx; uint64_t idx;
uint64_t threshold; uint64_t threshold;
if(sum_ == 0)
return NULL;
idx = 0; idx = 0;
threshold = RND::rand64(sum_); threshold = RND::rand64(sum_);
for(size_t i = 0; i < branchinfo_.size(); i++) for(size_t i = 0; i < branchinfo_.size(); i++)

Loading…
Cancel
Save