Module Name:    src
Committed By:   martin
Date:           Mon Oct  2 13:07:12 UTC 2023

Modified Files:
        src/lib/libpam/modules/pam_krb5 [netbsd-9]: pam_krb5.c

Log Message:
Pull up following revision(s) (requested by riastradh in ticket #1734):

        lib/libpam/modules/pam_krb5/pam_krb5.c: revision 1.32

pam_krb5: Fix PR lib/57631.

Loose ends in the fix for NetBSD-SA2023-006 that weren't caught by
review or, somehow, by my own testing.  Evidently we need automatic
tests for this pam business.


To generate a diff of this commit:
cvs rdiff -u -r1.26.28.1 -r1.26.28.2 \
    src/lib/libpam/modules/pam_krb5/pam_krb5.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/libpam/modules/pam_krb5/pam_krb5.c
diff -u src/lib/libpam/modules/pam_krb5/pam_krb5.c:1.26.28.1 src/lib/libpam/modules/pam_krb5/pam_krb5.c:1.26.28.2
--- src/lib/libpam/modules/pam_krb5/pam_krb5.c:1.26.28.1	Wed Jun 21 22:00:57 2023
+++ src/lib/libpam/modules/pam_krb5/pam_krb5.c	Mon Oct  2 13:07:12 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: pam_krb5.c,v 1.26.28.1 2023/06/21 22:00:57 martin Exp $	*/
+/*	$NetBSD: pam_krb5.c,v 1.26.28.2 2023/10/02 13:07:12 martin Exp $	*/
 
 /*-
  * This pam_krb5 module contains code that is:
@@ -53,7 +53,7 @@
 #ifdef __FreeBSD__
 __FBSDID("$FreeBSD: src/lib/libpam/modules/pam_krb5/pam_krb5.c,v 1.22 2005/01/24 16:49:50 rwatson Exp $");
 #else
-__RCSID("$NetBSD: pam_krb5.c,v 1.26.28.1 2023/06/21 22:00:57 martin Exp $");
+__RCSID("$NetBSD: pam_krb5.c,v 1.26.28.2 2023/10/02 13:07:12 martin Exp $");
 #endif
 
 #include <sys/types.h>
@@ -341,7 +341,6 @@ pam_sm_authenticate(pam_handle_t *pamh, 
 	krbret = verify_krb_v5_tgt(pam_context, ccache, srvdup,
 	    debug,
 	    auth_service, auth_princ, auth_phost, &auth_data);
-	free(srvdup);
 	if (krbret == -1) {
 		PAM_VERBOSE_ERROR("Kerberos 5 error");
 		krb5_cc_destroy(pam_context, ccache);
@@ -940,6 +939,7 @@ verify_krb_v5_tgt_begin(krb5_context con
 	const char *services[3], **service;
 
 	*servicep = NULL;
+	*princp = NULL;
 
 	if (debug)
 		openlog_r("pam_krb5", LOG_PID, LOG_AUTHPRIV, datap);
@@ -982,6 +982,8 @@ verify_krb_v5_tgt_begin(krb5_context con
 		    &keyblock);
 		if (retval != 0)
 			continue;
+		*servicep = *service;
+		*princp = princ;
 		break;
 	}
 	if (keyblock)

Reply via email to