krb5int_open_plugin_dirs errors out if directory does not exist
authorAlexandra Ellwood <lxs@mit.edu>
Thu, 5 Apr 2007 20:33:40 +0000 (20:33 +0000)
committerAlexandra Ellwood <lxs@mit.edu>
Thu, 5 Apr 2007 20:33:40 +0000 (20:33 +0000)
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: new

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19400 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;