From 727937fb86cfb042063f02fa2a229d236d7f105f Mon Sep 17 00:00:00 2001 From: Jakub Hrozek Date: Mon, 28 May 2012 16:39:15 +0200 Subject: Two small krb5_child fixes * Allocation check was missing * a DEBUG statement overwrote errno --- src/providers/krb5/krb5_child.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/providers/krb5/krb5_child.c b/src/providers/krb5/krb5_child.c index 199ef67bb..1a9d65522 100644 --- a/src/providers/krb5/krb5_child.c +++ b/src/providers/krb5/krb5_child.c @@ -262,13 +262,18 @@ static krb5_error_code create_ccache_file(krb5_context ctx, goto done; } tmp_ccname = talloc_asprintf_append(tmp_ccname, "/.krb5cc_dummy_XXXXXX"); + if (tmp_ccname == NULL) { + kerr = ENOMEM; + goto done; + } old_umask = umask(077); fd = mkstemp(tmp_ccname); umask(old_umask); if (fd == -1) { - DEBUG(1, ("mkstemp failed [%d][%s].\n", errno, strerror(errno))); kerr = errno; + DEBUG(SSSDBG_CRIT_FAILURE, + ("mkstemp failed [%d][%s].\n", kerr, strerror(kerr))); goto done; } @@ -315,15 +320,17 @@ static krb5_error_code create_ccache_file(krb5_context ctx, if (ccname_len >= 6 && strcmp(cc_file_name + (ccname_len-6), "XXXXXX")==0 ) { fd = mkstemp(cc_file_name); if (fd == -1) { - DEBUG(1, ("mkstemp failed [%d][%s].\n", errno, strerror(errno))); kerr = errno; + DEBUG(SSSDBG_CRIT_FAILURE, + ("mkstemp failed [%d][%s].\n", kerr, strerror(kerr))); goto done; } } kerr = rename(tmp_ccname, cc_file_name); if (kerr == -1) { - DEBUG(1, ("rename failed [%d][%s].\n", errno, strerror(errno))); + kerr = errno; + DEBUG(1, ("rename failed [%d][%s].\n", kerr, strerror(kerr))); } DEBUG(SSSDBG_TRACE_LIBS, ("Created ccache file: [%s]\n", cc_file_name)); -- cgit