diff options
author | Jeffrey Altman <jaltman@secure-endpoints.com> | 2005-01-15 21:40:23 +0000 |
---|---|---|
committer | Jeffrey Altman <jaltman@secure-endpoints.com> | 2005-01-15 21:40:23 +0000 |
commit | 2656e5e1e026f800559eed79dfcc58cd3da5d9a0 (patch) | |
tree | 7672ba79f1b689d4b0805c170318a3f2107733a8 /src/lib | |
parent | 9f9f9321d2944985af9d4c37cb6ee81366eb55e0 (diff) | |
download | krb5-2656e5e1e026f800559eed79dfcc58cd3da5d9a0.zip krb5-2656e5e1e026f800559eed79dfcc58cd3da5d9a0.tar.gz krb5-2656e5e1e026f800559eed79dfcc58cd3da5d9a0.tar.bz2 |
* rc_dfl.c: Move the extraction of the struct dfl_data
from the krb5_rcache after obtaining the lock, not before.
ticket: new
target_version: 1.4
tags: pullup
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17046 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/krb5/rcache/ChangeLog | 5 | ||||
-rw-r--r-- | src/lib/krb5/rcache/rc_dfl.c | 6 |
2 files changed, 8 insertions, 3 deletions
diff --git a/src/lib/krb5/rcache/ChangeLog b/src/lib/krb5/rcache/ChangeLog index 24b04b0..597ce15 100644 --- a/src/lib/krb5/rcache/ChangeLog +++ b/src/lib/krb5/rcache/ChangeLog @@ -1,3 +1,8 @@ +2005-01-15 Jeffrey Altman <jaltman@mit.edu> + + * rc_dfl.c: Move the extraction of the struct dfl_data + from the krb5_rcache after obtaining the lock, not before. + 2004-08-03 Ken Raeburn <raeburn@mit.edu> * rc-int.h (struct _krb5_rc_ops): Add new member, diff --git a/src/lib/krb5/rcache/rc_dfl.c b/src/lib/krb5/rcache/rc_dfl.c index 586716a..a334002 100644 --- a/src/lib/krb5/rcache/rc_dfl.c +++ b/src/lib/krb5/rcache/rc_dfl.c @@ -182,10 +182,10 @@ krb5_rc_dfl_get_span(krb5_context context, krb5_rcache id, krb5_error_code err; struct dfl_data *t; - t = (struct dfl_data *) id->data; err = k5_mutex_lock(&id->lock); if (err) return err; + t = (struct dfl_data *) id->data; *lifespan = t->lifespan; k5_mutex_unlock(&id->lock); return 0; @@ -514,7 +514,6 @@ krb5_error_code KRB5_CALLCONV krb5_rc_dfl_recover_or_init(krb5_context context, krb5_rcache id, krb5_deltat lifespan) { - struct dfl_data *t = (struct dfl_data *)id->data; krb5_error_code retval; retval = k5_mutex_lock(&id->lock); @@ -561,7 +560,7 @@ krb5_error_code KRB5_CALLCONV krb5_rc_dfl_store(krb5_context context, krb5_rcache id, krb5_donot_replay *rep) { krb5_error_code ret; - struct dfl_data *t = (struct dfl_data *)id->data; + struct dfl_data *t; krb5_int32 now; ret = krb5_timeofday(context, &now); @@ -582,6 +581,7 @@ krb5_rc_dfl_store(krb5_context context, krb5_rcache id, krb5_donot_replay *rep) case 0: break; default: /* wtf? */ ; } + t = (struct dfl_data *)id->data; #ifndef NOIOSTUFF ret = krb5_rc_io_store(context, t, rep); if (ret) { |