Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
Fix memory leak in compute_weight
Bryan Drewery committed 12 years ago
commit f2bc50e5b2dbc56442272e2dd81e0528338cc04e
parent 7c11495
1 file changed +3 -1
modified libpkg/dns_utils.c
@@ -72,7 +72,7 @@ compute_weight(struct dns_srvinfo **d, int first, int last)
{
	int i, j;
	int totalweight = 0;
-
	int *chosen = malloc(sizeof(int) * (last - first + 1));
+
	int *chosen;

	for (i = 0; i <= last; i++)
		totalweight += d[i]->weight;
@@ -80,6 +80,8 @@ compute_weight(struct dns_srvinfo **d, int first, int last)
	if (totalweight == 0)
		return;

+
	chosen = malloc(sizeof(int) * (last - first + 1));
+

	for (i = 0; i <= last; i++) {
		for (;;) {
			chosen[i] = random() % (d[i]->weight * 100 / totalweight);