pull up r19400 from trunk
authorTom Yu <tlyu@mit.edu>
Tue, 10 Apr 2007 21:52:11 +0000 (21:52 +0000)
committerTom Yu <tlyu@mit.edu>
Tue, 10 Apr 2007 21:52:11 +0000 (21:52 +0000)
 r19400@cathode-dark-space:  lxs | 2007-04-05 16:33:40 -0400
 ticket: new
 subject: krb5int_open_plugin_dirs errors out if directory does not exist

 If one of the directories in the list doesn't exist and no filenames are
 passed in because opendir fails and then the code gets an error.  opendir()
 failing should not be a fatal error.  The function should just move on to
 the next directory.

ticket: 5510
version_fixed: 1.6.1

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/krb5-1-6@19417 dc483132-0cff-0310-8789-dd5450dbe970

src/util/support/plugins.c

index bccb522508718a76329bf84d70775799c0594358..b26726fab6effd25fb3c7ec3b24cf6fecd4241c3 100644 (file)
@@ -455,17 +455,9 @@ krb5int_open_plugin_dirs (const char * const *dirnames,
         } else {
             /* load all plugins in each directory */
 #ifndef _WIN32
-           DIR *dir = NULL;
+           DIR *dir = opendir (dirnames[i]);
             
-            if (!err) {
-                dir = opendir(dirnames[i]);
-                if (dir == NULL) {
-                    err = errno;
-                    Tprintf ("-> error %d/%s\n", err, strerror (err));
-                }
-            }
-            
-            while (!err) {
+            while (dir != NULL && !err) {
                 struct dirent *d = NULL;
                 char *filepath = NULL;
                 struct plugin_file_handle *handle = NULL;