Text   |  XML   |  ReML   |   Visible Warnings:

File System Race Condition  at mkdir-parents.c:22

No properties have been set. | edit properties
Jump to warning location ↓ warning details...
Show Events | Options

dbox_mailbox_open

(/home/sate/Testcases/c/cve/dovecot-1.2.0/src/lib-storage/index/dbox/dbox-storage.c)expand/collapse
Show more  
 291  static struct mailbox *
 292  dbox_mailbox_open(struct mail_storage *_storage, const char *name,
 293                    struct istream *input, enum mailbox_open_flags flags)
 294  {
 295          struct dbox_storage *storage = (struct dbox_storage *)_storage;
 296          const char *path;
 297   
 298          if (input != NULL) {
 299                  mail_storage_set_critical(_storage,
 300                          "dbox doesn't support streamed mailboxes");
 301                  return NULL;
 302          }
 303   
 304          path = mailbox_list_get_path(_storage->list, name,
 305[+]                                      MAILBOX_LIST_PATH_TYPE_MAILBOX);
 306[+]         if (dbox_cleanup_if_exists(_storage, path))
 307                  return dbox_open(storage, name, flags);
 308          else if (errno == ENOENT) {
 309                  if (strcmp(name, "INBOX") == 0 &&
 310                      (_storage->ns->flags & NAMESPACE_FLAG_INBOX) != 0) {
 311                          /* INBOX always exists, create it */
 312[+]                         if (create_dbox(_storage, path) < 0)
expand/collapse

create_dbox

(/home/sate/Testcases/c/cve/dovecot-1.2.0/src/lib-storage/index/dbox/dbox-storage.c)expand/collapse
Show more  
 161  static int create_dbox(struct mail_storage *storage, const char *path)
 162  {
 163          const char *origin;
 164          mode_t mode;
 165          gid_t gid;
 166   
 167          mailbox_list_get_dir_permissions(storage->list, NULL,
 168                                           &mode, &gid, &origin);
 169[+]         if (mkdir_parents_chgrp(path, mode, gid, origin) < 0 &&
expand/collapse

mkdir_parents_chgrp

(/home/sate/Testcases/c/cve/dovecot-1.2.0/src/lib/mkdir-parents.c)expand/collapse
Show more  
 115  int mkdir_parents_chgrp(const char *path, mode_t mode,
 116                          gid_t gid, const char *gid_origin)
 117  {
 118[+]         return mkdir_parents_chown_full(path, mode, (uid_t)-1, gid, gid_origin);
expand/collapse

mkdir_parents_chown_full

(/home/sate/Testcases/c/cve/dovecot-1.2.0/src/lib/mkdir-parents.c)expand/collapse
Show more  
 80  mkdir_parents_chown_full(const char *path, mode_t mode, uid_t uid, gid_t gid,
 81                           const char *gid_origin)
 82  {
 83          const char *p;
 84          int ret;
 85   
 86[+]         if (mkdir_chown_full(path, mode, uid, gid, gid_origin) < 0) {
expand/collapse

mkdir_chown_full

(/home/sate/Testcases/c/cve/dovecot-1.2.0/src/lib/mkdir-parents.c)expand/collapse
Show more  
 14  mkdir_chown_full(const char *path, mode_t mode, uid_t uid,
 15                   gid_t gid, const char *gid_origin)
 16  {
 17          string_t *str;
 18          mode_t old_mask;
 19          int ret, orig_errno;
 20   
 21          old_mask = umask(0);
 22          ret = mkdir(path, mode);
Show more  
Show more  
Show more  
Show more  
Show more  




Change Warning 7481.25934 : File System Race Condition

Priority:
State:
Finding:
Owner:
Note: