diff --git a/source4/auth/gensec/gensec.c b/source4/auth/gensec/gensec.c index 429aa433d70..2d347b65b1c 100644 --- a/source4/auth/gensec/gensec.c +++ b/source4/auth/gensec/gensec.c @@ -87,8 +87,9 @@ struct gensec_security_ops **gensec_use_kerberos_mechs(TALLOC_CTX *mem_ctx, j++; } break; - case CRED_AUTO_USE_KERBEROS: - break; + default: + /* Can't happen or invalid parameter */ + return NULL; } } new_gensec_list[j] = NULL; diff --git a/source4/dsdb/samdb/ldb_modules/password_hash.c b/source4/dsdb/samdb/ldb_modules/password_hash.c index 9d7c78487ab..abb267d8846 100644 --- a/source4/dsdb/samdb/ldb_modules/password_hash.c +++ b/source4/dsdb/samdb/ldb_modules/password_hash.c @@ -597,7 +597,7 @@ static int password_hash_add(struct ldb_module *module, struct ldb_request *req) /* check sambaPassword is single valued here */ /* TODO: remove this when sambaPassword will be single valued in schema */ - if (sambaAttr->num_values > 1) { + if (sambaAttr && sambaAttr->num_values > 1) { ldb_set_errstring(module->ldb, talloc_asprintf(req, "mupltiple values for sambaPassword not allowed!\n")); diff --git a/source4/lib/ldb/common/ldb_dn.c b/source4/lib/ldb/common/ldb_dn.c index a659f676c6d..0d7a3c61417 100644 --- a/source4/lib/ldb/common/ldb_dn.c +++ b/source4/lib/ldb/common/ldb_dn.c @@ -578,32 +578,35 @@ struct ldb_dn *ldb_dn_casefold(struct ldb_context *ldb, const struct ldb_dn *edn if (edn == NULL) return NULL; cedn = ldb_dn_new(ldb); - LDB_DN_NULL_FAILED(cedn); + return NULL; cedn->comp_num = edn->comp_num; cedn->components = talloc_array(cedn, struct ldb_dn_component, edn->comp_num); - LDB_DN_NULL_FAILED(cedn->components); + if (!cedn->components) { + talloc_free(cedn); + return NULL; + } for (i = 0; i < edn->comp_num; i++) { struct ldb_dn_component dc; const struct ldb_attrib_handler *h; dc.name = ldb_attr_casefold(cedn, edn->components[i].name); - LDB_DN_NULL_FAILED(dc.name); + if (!dc.name) { + talloc_free(cedn); + return NULL; + } h = ldb_attrib_handler(ldb, dc.name); if (h->canonicalise_fn(ldb, cedn, &(edn->components[i].value), &(dc.value)) != 0) { - goto failed; + talloc_free(cedn); + return NULL; } cedn->components[i] = dc; } return cedn; - -failed: - talloc_free(cedn); - return NULL; } struct ldb_dn *ldb_dn_explode_casefold(struct ldb_context *ldb, const char *dn)