diff options
Diffstat (limited to 'client')
-rw-r--r-- | client/mount.cifs.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/client/mount.cifs.c b/client/mount.cifs.c index 1c04e13c8d..0f41afff9c 100644 --- a/client/mount.cifs.c +++ b/client/mount.cifs.c @@ -320,6 +320,11 @@ static int open_cred_file(char * file_name) char * temp_val; FILE * fs; int i, length; + + i = access(file_name, R_OK); + if (i) + return i; + fs = fopen(file_name,"r"); if(fs == NULL) return errno; @@ -442,6 +447,12 @@ static int get_password_from_file(int file_descript, char * filename) } if(filename != NULL) { + rc = access(filename, R_OK); + if (rc) { + fprintf(stderr, "mount.cifs failed: access check of %s failed: %s\n", + filename, strerror(errno)); + exit(EX_SYSERR); + } file_descript = open(filename, O_RDONLY); if(file_descript < 0) { fprintf(stderr, "mount.cifs failed. %s attempting to open password file %s\n", |