summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Kelley <simon@thekelleys.org.uk>2014-03-01 17:58:28 +0000
committerSimon Kelley <simon@thekelleys.org.uk>2014-03-01 17:58:28 +0000
commite3f14558509e2ec3f486f1a1594621a8ebcf02be (patch)
treefa8229ffc07a47aada5ec96294201d3cd5b4b741
parentbd9b3cf55be5843eee108658acb05a494645caad (diff)
downloaddnsmasq-e3f14558509e2ec3f486f1a1594621a8ebcf02be.tar.gz
Don't free blockdata for negative DS cache entries.
-rw-r--r--src/cache.c2
-rw-r--r--src/dnssec.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/src/cache.c b/src/cache.c
index 3ebb49d..f4a24b3 100644
--- a/src/cache.c
+++ b/src/cache.c
@@ -183,7 +183,7 @@ static void cache_blockdata_free(struct crec *crecp)
else
blockdata_free(crecp->addr.key.keydata);
}
- else if (crecp->flags & F_DS)
+ else if ((crecp->flags & F_DS) && !(crecp->flags & F_NEG))
blockdata_free(crecp->addr.ds.keydata);
}
#endif
diff --git a/src/dnssec.c b/src/dnssec.c
index 2d00570..5672ebe 100644
--- a/src/dnssec.c
+++ b/src/dnssec.c
@@ -353,7 +353,7 @@ static void from_wire(char *name)
l[len] = '.';
}
- if (l != name)
+ if ((char *)l != name)
*(l-1) = 0;
}