mailbox_list_get_root_permissions(map->root_list, &perm);
old_mask = umask(0666 & ~perm.file_create_mode);
- fd = open(path, O_RDWR | O_CREAT | O_TRUNC, 0666);
+ fd = open(path, O_RDWR | O_CREAT | O_TRUNC | O_NOFOLLOW, 0666);
umask(old_mask);
if (fd == -1 && errno == ENOENT && parents &&
(p = strrchr(path, '/')) != NULL) {
}
/* try again */
old_mask = umask(0666 & ~perm.file_create_mode);
- fd = open(path, O_RDWR | O_CREAT | O_TRUNC, 0666);
+ fd = open(path, O_RDWR | O_CREAT | O_TRUNC | O_NOFOLLOW, 0666);
umask(old_mask);
}
if (fd == -1) {