Bad isc_mem_put size.
331 result = dns_rdatatype_fromtext(&types[i++].type, &r);
332 if (result != ISC_R_SUCCESS) {
333 cfg_obj_log(identity, named_g_lctx,
334 ISC_LOG_ERROR,
335 "'%.*s' is not a valid type",
336 (int)r.length, str);
CID 302775 (#1 of 1): Sizeof not portable (SIZEOF_MISMATCH)
suspicious_sizeof: Passing argument types of type dns_ssuruletype_t * and argument n * 8UL /* sizeof (types) */ to function isc__mem_put is suspicious. In this case, sizeof (dns_ssuruletype_t *) is equal to sizeof (dns_ssuruletype_t), but this is not a portable assumption.
Did you intend to use sizeof (*types) instead of sizeof (types)?
337 isc_mem_put(mctx, types, n * sizeof(types));
338 goto cleanup;
339 }
Edited by Mark Andrews