Index: src/backend/libpq/auth.c =================================================================== RCS file: /cvsroot/pgsql/src/backend/libpq/auth.c,v retrieving revision 1.162 diff -c -r1.162 auth.c *** auth.c 1 Jan 2008 19:45:49 -0000 1.162 --- auth.c 30 Jan 2008 04:07:42 -0000 *************** *** 384,390 **** min_stat, lmin_s, gflags; - char *kt_path; int mtype; int ret; StringInfoData buf; --- 384,389 ---- *************** *** 398,408 **** * setenv("KRB5_KTNAME", pg_krb_server_keyfile, 0); except setenv() * not always available. */ ! if (!getenv("KRB5_KTNAME")) { ! kt_path = palloc(MAXPGPATH + 13); ! snprintf(kt_path, MAXPGPATH + 13, ! "KRB5_KTNAME=%s", pg_krb_server_keyfile); putenv(kt_path); } } --- 397,415 ---- * setenv("KRB5_KTNAME", pg_krb_server_keyfile, 0); except setenv() * not always available. */ ! if (getenv("KRB5_KTNAME") == NULL) { ! size_t kt_len = strlen(pg_krb_server_keyfile) + 14; ! char *kt_path = malloc(kt_len); ! ! if (!kt_path) ! { ! ereport(LOG, ! (errcode(ERRCODE_OUT_OF_MEMORY), ! errmsg("out of memory"))); ! return STATUS_ERROR; ! } ! snprintf(kt_path, kt_len, "KRB5_KTNAME=%s", pg_krb_server_keyfile); putenv(kt_path); } }