diff options
author | Matthias Wachs <wachs@net.in.tum.de> | 2014-05-16 07:40:49 +0000 |
---|---|---|
committer | Matthias Wachs <wachs@net.in.tum.de> | 2014-05-16 07:40:49 +0000 |
commit | 4932af68493bdb0f8ea88703c838a9c3d653d467 (patch) | |
tree | 4aa1b44815e3f3794a060d9806fd5e18564aaa88 /src/ats/gnunet-service-ats_normalization.c | |
parent | e4ac5a9cdcfa8694c09805989a92b735e447016e (diff) | |
download | gnunet-4932af68493bdb0f8ea88703c838a9c3d653d467.tar.gz gnunet-4932af68493bdb0f8ea88703c838a9c3d653d467.zip |
fixing division by zero in normalization
Diffstat (limited to 'src/ats/gnunet-service-ats_normalization.c')
-rw-r--r-- | src/ats/gnunet-service-ats_normalization.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/ats/gnunet-service-ats_normalization.c b/src/ats/gnunet-service-ats_normalization.c index d26055ea9..0423db673 100644 --- a/src/ats/gnunet-service-ats_normalization.c +++ b/src/ats/gnunet-service-ats_normalization.c | |||
@@ -733,7 +733,10 @@ normalize_address (void *cls, const struct GNUNET_PeerIdentity *h, void *k) | |||
733 | avg_value = address->atsin[p->prop_type].avg; | 733 | avg_value = address->atsin[p->prop_type].avg; |
734 | delta = p->max - p->min; | 734 | delta = p->max - p->min; |
735 | /* max - 2 * min + avg_value / max - min */ | 735 | /* max - 2 * min + avg_value / max - min */ |
736 | address->atsin[p->prop_type].norm = (delta + (avg_value - p->min)) / (delta); | 736 | if (0 != delta) |
737 | address->atsin[p->prop_type].norm = (delta + (avg_value - p->min)) / (delta); | ||
738 | else | ||
739 | address->atsin[p->prop_type].norm = DEFAULT_REL_QUALITY; | ||
737 | 740 | ||
738 | if (backup == address->atsin[p->prop_type].norm) | 741 | if (backup == address->atsin[p->prop_type].norm) |
739 | return GNUNET_OK; | 742 | return GNUNET_OK; |