check return value of alloc functions, from Charles Longeau
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@21745 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
12
kdc/hprop.c
12
kdc/hprop.c
@@ -157,12 +157,18 @@ v4_prop(void *arg, struct v4_principal *p)
|
||||
ent.entry.kvno = p->kvno;
|
||||
ent.entry.keys.len = 3;
|
||||
ent.entry.keys.val = malloc(ent.entry.keys.len * sizeof(*ent.entry.keys.val));
|
||||
if (ent.entry.keys.val == NULL)
|
||||
krb5_errx(pd->context, ENOMEM, "malloc");
|
||||
if(p->mkvno != -1) {
|
||||
ent.entry.keys.val[0].mkvno = malloc (sizeof(*ent.entry.keys.val[0].mkvno));
|
||||
if (ent.entry.keys.val[0].mkvno == NULL)
|
||||
krb5_errx(pd->context, ENOMEM, "malloc");
|
||||
*(ent.entry.keys.val[0].mkvno) = p->mkvno;
|
||||
} else
|
||||
ent.entry.keys.val[0].mkvno = NULL;
|
||||
ent.entry.keys.val[0].salt = calloc(1, sizeof(*ent.entry.keys.val[0].salt));
|
||||
if (ent.entry.keys.val[0].salt == NULL)
|
||||
krb5_errx(pd->context, ENOMEM, "calloc");
|
||||
ent.entry.keys.val[0].salt->type = KRB5_PADATA_PW_SALT;
|
||||
ent.entry.keys.val[0].key.keytype = ETYPE_DES_CBC_MD5;
|
||||
krb5_data_alloc(&ent.entry.keys.val[0].key.keyvalue, DES_KEY_SZ);
|
||||
@@ -292,8 +298,12 @@ ka_convert(struct prop_data *pd, int fd, struct ka_entry *ent)
|
||||
hdb.entry.keys.len = 3;
|
||||
hdb.entry.keys.val =
|
||||
malloc(hdb.entry.keys.len * sizeof(*hdb.entry.keys.val));
|
||||
if (hdb.entry.keys.val == NULL)
|
||||
krb5_errx(pd->context, ENOMEM, "malloc");
|
||||
hdb.entry.keys.val[0].mkvno = NULL;
|
||||
hdb.entry.keys.val[0].salt = calloc(1, sizeof(*hdb.entry.keys.val[0].salt));
|
||||
if (hdb.entry.keys.val[0].salt == NULL)
|
||||
krb5_errx(pd->context, ENOMEM, "calloc");
|
||||
if (ka_use_null_salt) {
|
||||
hdb.entry.keys.val[0].salt->type = hdb_pw_salt;
|
||||
hdb.entry.keys.val[0].salt->salt.data = NULL;
|
||||
@@ -301,6 +311,8 @@ ka_convert(struct prop_data *pd, int fd, struct ka_entry *ent)
|
||||
} else {
|
||||
hdb.entry.keys.val[0].salt->type = hdb_afs3_salt;
|
||||
hdb.entry.keys.val[0].salt->salt.data = strdup(afs_cell);
|
||||
if (hdb.entry.keys.val[0].salt->salt.data == NULL)
|
||||
krb5_errx(pd->context, ENOMEM, "strdup");
|
||||
hdb.entry.keys.val[0].salt->salt.length = strlen(afs_cell);
|
||||
}
|
||||
|
||||
|
@@ -1554,6 +1554,10 @@ _kdc_as_rep(krb5_context context,
|
||||
* otherwise just a dummy lr.
|
||||
*/
|
||||
ek.last_req.val = malloc(2 * sizeof(*ek.last_req.val));
|
||||
if (ek.last_req.val == NULL) {
|
||||
ret = ENOMEM;
|
||||
goto out;
|
||||
}
|
||||
ek.last_req.len = 0;
|
||||
if (client->entry.pw_end
|
||||
&& (config->kdc_warn_pwexpire == 0
|
||||
|
@@ -314,6 +314,8 @@ mit_prop_dump(void *arg, const char *file)
|
||||
switch(tl_type) {
|
||||
case mit_KRB5_TL_MOD_PRINC:
|
||||
buf = malloc(tl_length);
|
||||
if (buf == NULL)
|
||||
errx(ENOMEM, "malloc");
|
||||
getdata(&p, buf, tl_length); /* data itself */
|
||||
val = buf[0] | (buf[1] << 8) | (buf[2] << 16) | (buf[3] << 24);
|
||||
ret = krb5_parse_name(pd->context, (char *)buf + 4, &princ);
|
||||
|
Reference in New Issue
Block a user