From 33bad9e66f346d40dc3510719898d03ccb79b2f4 Mon Sep 17 00:00:00 2001 From: Petr Spacek Date: Mar 05 2013 13:28:57 +0000 Subject: Fix crash caused by invalid wildcard in update policy string. https://fedorahosted.org/bind-dyndb-ldap/ticket/108 Signed-off-by: Petr Spacek --- diff --git a/src/acl.c b/src/acl.c index c62a8cb..f95cf43 100644 --- a/src/acl.c +++ b/src/acl.c @@ -420,6 +420,18 @@ acl_configure_zone_ssutable(const char *policy_str, dns_zone_t *zone) CHECK(get_fixed_name(stmt, "name", &fname)); CHECK(get_types(mctx, stmt, &types, &n)); + if (match_type == DNS_SSUMATCHTYPE_WILDCARD && + !dns_name_iswildcard(dns_fixedname_name(&fname))) { + char name[DNS_NAME_FORMATSIZE]; + dns_name_format(dns_fixedname_name(&fname), name, + DNS_NAME_FORMATSIZE); + dns_zone_log(zone, ISC_LOG_ERROR, + "invalid update policy: " + "name '%s' is expected to be a wildcard", + name); + CLEANUP_WITH(DNS_R_BADNAME); + } + result = dns_ssutable_addrule(table, grant, dns_fixedname_name(&fident), match_type,