(/home/sate/Testcases/c/cve/dovecot-1.2.0/src/lib-storage/index/maildir/maildir-storage.c) |
| |
| 346 | | | static int maildir_check_tmp(struct mail_storage *storage, const char *dir) |
| 347 | | | { |
| 348 | | | const char *path; |
| 349 | | | struct stat st; |
| 350 | | | |
| 351 | | | |
| 352 | [+] | | path = t_strconcat(dir, "/tmp", NULL); |
 |
| 353 | | | if (stat(path, &st) < 0) { |
Event 33:
path, which evaluates to the value assigned to ret at data-stack.c:335, is passed to stat64() as the first argument. See related event 32.
hide
Event 34:
stat64() accesses the file named path, where path is the value assigned to ret at data-stack.c:335. - The same name is used to access a file later, but it is not safe to assume that it will be the same underlying file.
See related event 33.
hide
Event 35:
Taking true branch. stat(path, &st) < 0 evaluates to true.
hide
|
|
| 354 | | | if (errno == ENOENT)
x /usr/include/asm-generic/errno-base.h |
| |
5 | #define ENOENT 2 /* No such file or directory */ |
| |
|
Event 36:
Skipping " if". errno == 2 evaluates to false.
hide
|
|
| 355 | | | return 0; |
| 356 | | | if (errno == EACCES) {
x /usr/include/asm-generic/errno-base.h |
| |
16 | #define EACCES 13 /* Permission denied */ |
| |
|
Event 37:
Taking true branch. errno == 13 evaluates to true.
hide
|
|
| 357 | | | mail_storage_set_critical(storage, "%s", |
| 358 | [+] | | mail_error_eacces_msg("stat", path)); |
Event 38:
path, which evaluates to the value assigned to ret at data-stack.c:335, is passed to mail_error_eacces_msg() as the second argument. See related event 32.
hide
|
|
 |
| |