Blob Blame History Raw
Skip over duplicate entries in a profile's file list (closes #231147).  Files
are parsed in the order specified, so skipping a duplicate the second (or
subsequent) time it's seen shouldn't break any applications.

diff -up krb5-1.6.2/src/util/profile/prof_init.c krb5-1.6.2/src/util/profile/prof_init.c
--- krb5-1.6.2/src/util/profile/prof_init.c	2007-07-23 15:55:00.000000000 -0400
+++ krb5-1.6.2/src/util/profile/prof_init.c	2007-07-23 15:54:53.000000000 -0400
@@ -23,7 +23,7 @@ typedef int32_t prof_int32;
 errcode_t KRB5_CALLCONV
 profile_init(const_profile_filespec_t *files, profile_t *ret_profile)
 {
-	const_profile_filespec_t *fs;
+	const_profile_filespec_t *fs, *fs2;
 	profile_t profile;
 	prf_file_t  new_file, last = 0;
 	errcode_t retval = 0;
@@ -37,6 +37,11 @@ profile_init(const_profile_filespec_t *f
         /* if the filenames list is not specified return an empty profile */
         if ( files ) {
 	    for (fs = files; !PROFILE_LAST_FILESPEC(*fs); fs++) {
+	        for (fs2 = files; fs2 != fs; fs2++)
+		    if (strcmp(*fs2, *fs) == 0)
+			break;
+		if (fs2 != fs)
+		    continue;
 		retval = profile_open_file(*fs, &new_file);
 		/* if this file is missing, skip to the next */
 		if (retval == ENOENT || retval == EACCES) {