aboutsummaryrefslogtreecommitdiff
path: root/src/ats/gnunet-service-ats_normalization.c
diff options
context:
space:
mode:
authorMatthias Wachs <wachs@net.in.tum.de>2014-05-16 07:40:49 +0000
committerMatthias Wachs <wachs@net.in.tum.de>2014-05-16 07:40:49 +0000
commit4932af68493bdb0f8ea88703c838a9c3d653d467 (patch)
tree4aa1b44815e3f3794a060d9806fd5e18564aaa88 /src/ats/gnunet-service-ats_normalization.c
parente4ac5a9cdcfa8694c09805989a92b735e447016e (diff)
downloadgnunet-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.c5
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;