Fixed a likely bug in modify_principal() where the memset() of ent happens after early error checking.

This commit is contained in:
Nicolas Williams
2011-07-19 14:19:38 -05:00
parent 07370612bd
commit 9d6d3ee5f3

View File

@@ -45,13 +45,14 @@ modify_principal(void *server_handle,
hdb_entry_ex ent; hdb_entry_ex ent;
kadm5_ret_t ret; kadm5_ret_t ret;
memset(&ent, 0, sizeof(ent));
if((mask & forbidden_mask)) if((mask & forbidden_mask))
return KADM5_BAD_MASK; return KADM5_BAD_MASK;
if((mask & KADM5_POLICY) && strcmp(princ->policy, "default")) if((mask & KADM5_POLICY) && strcmp(princ->policy, "default"))
return KADM5_UNK_POLICY; return KADM5_UNK_POLICY;
} }
memset(&ent, 0, sizeof(ent));
ret = context->db->hdb_open(context->context, context->db, O_RDWR, 0); ret = context->db->hdb_open(context->context, context->db, O_RDWR, 0);
if(ret) if(ret)
return ret; return ret;