rpms/krb5/devel krb5-1.6.3-cc_gen_new-locks.patch,NONE,1.1

Nalin Dahyabhai nalin at fedoraproject.org
Tue Oct 28 21:36:18 UTC 2008


Author: nalin

Update of /cvs/pkgs/rpms/krb5/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv3213

Added Files:
	krb5-1.6.3-cc_gen_new-locks.patch 
Log Message:
- krb5_fcc_generate_new(): unlock the fcc list lock before returning in the
  non-mkstemp() case, don't unlock the lock twice before returning if we
  happen to run out of memory (fixed in trunk by rewriting the function)


krb5-1.6.3-cc_gen_new-locks.patch:

--- NEW FILE krb5-1.6.3-cc_gen_new-locks.patch ---
We lock "krb5int_cc_file_mutex" before attempting to open the file in the
we-don't-have-mkstemp() case.  And we shouldn't be trying to unlock it twice.
The function's rewritten in 1.6.4, but fix it here in the meantime.
--- krb5-1.6.3/src/lib/krb5/ccache/cc_file.c	2008-10-28 17:20:13.000000000 -0400
+++ krb5-1.6.3/src/lib/krb5/ccache/cc_file.c	2008-10-28 17:20:07.000000000 -0400
@@ -1976,8 +1976,9 @@ krb5_fcc_generate_new (krb5_context cont
      mktemp(scratch);
      /* Make sure the file name is reserved */
      ret = THREEPARAMOPEN(scratch, O_CREAT | O_EXCL | O_WRONLY | O_BINARY, 0);
      if (ret == -1) {
+	  k5_mutex_unlock(&krb5int_cc_file_mutex);
 	  return krb5_fcc_interpret(context, errno);
      }
 #endif
 
@@ -1995,9 +1996,8 @@ krb5_fcc_generate_new (krb5_context cont
           k5_mutex_unlock(&krb5int_cc_file_mutex);
 	  free(data);
 	  close(ret);
 	  unlink(scratch);
-	  k5_mutex_unlock(&krb5int_cc_file_mutex);
 	  return KRB5_CC_NOMEM;
      }
 
      kret = k5_mutex_init(&data->lock);




More information about the scm-commits mailing list