From 386538399f428a159c0cc3f3e8781e6a84031a4a Mon Sep 17 00:00:00 2001 From: Assar Westerlund Date: Wed, 7 Jun 2000 02:55:46 +0000 Subject: [PATCH] (kadm5_log_replay_create): handle more NULL pointers (should they really happen?) git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@8338 ec53bebd-3082-4978-b11e-865c3cabbd6b --- lib/kadm5/log.c | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/lib/kadm5/log.c b/lib/kadm5/log.c index 2ee1cbdfe..7d538e378 100644 --- a/lib/kadm5/log.c +++ b/lib/kadm5/log.c @@ -516,14 +516,22 @@ kadm5_log_replay_modify (kadm5_server_context *context, if (ret) return ret; if (mask & KADM5_PRINC_EXPIRE_TIME) { - if (ent.valid_end == NULL) - ent.valid_end = malloc(sizeof(*ent.valid_end)); - *ent.valid_end = *log_ent.valid_end; + if (log_ent.valid_end == NULL) { + ent.valid_end = NULL; + } else { + if (ent.valid_end == NULL) + ent.valid_end = malloc(sizeof(*ent.valid_end)); + *ent.valid_end = *log_ent.valid_end; + } } if (mask & KADM5_PW_EXPIRATION) { - if (ent.pw_end == NULL) - ent.pw_end = malloc(sizeof(*ent.pw_end)); - *ent.pw_end = *log_ent.pw_end; + if (log.ent_pw_end == NULL) { + ent.pw_end = NULL; + } else { + if (ent.pw_end == NULL) + ent.pw_end = malloc(sizeof(*ent.pw_end)); + *ent.pw_end = *log_ent.pw_end; + } } if (mask & KADM5_LAST_PWD_CHANGE) { abort (); /* XXX */