From 55178a0d79eadc8eb435f278557d3e4af3108d43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Love=20H=C3=B6rnquist=20=C3=85strand?= Date: Mon, 10 Apr 2006 10:02:48 +0000 Subject: [PATCH] (krb5_425_conv_principal_ext2): remove memory leak in case of weird formated dns replys. git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@17040 ec53bebd-3082-4978-b11e-865c3cabbd6b --- lib/krb5/principal.c | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/lib/krb5/principal.c b/lib/krb5/principal.c index b6e7186bf..7794ab4de 100644 --- a/lib/krb5/principal.c +++ b/lib/krb5/principal.c @@ -750,17 +750,22 @@ krb5_425_conv_principal_ext2(krb5_context context, struct dns_reply *r; r = dns_lookup(instance, "aaaa"); - if (r && r->head && r->head->type == T_AAAA) { - inst = strdup(r->head->domain); - dns_free_data(r); - passed = TRUE; - } else { - r = dns_lookup(instance, "a"); - if(r && r->head && r->head->type == T_A) { + if (r) { + if (r->head && r->head->type == T_AAAA) { inst = strdup(r->head->domain); dns_free_data(r); passed = TRUE; } + dns_free_data(r); + } else { + r = dns_lookup(instance, "a"); + if (r) { + if(r->head && r->head->type == T_A) { + inst = strdup(r->head->domain); + passed = TRUE; + } + dns_free_data(r); + } } #else struct addrinfo hints, *ai;