Act: приложениесчитает символиче-
ские ссылки на файлы самими фай-
лами (см. подробности выше).
Exp: в случае если в каталоге
SOURCE_DIR
приложение обнаружи-
вает символическую ссылку, оно пре-
кращает работу с выводом сообщения
«Symbolic link [имя символической
ссылки] in SOURCE_DIR folder de-
tected. Remove it manually or restart ap-
plication with --force_file_operations key
to remove automatically.
»
Req: UR.56.BF.4.e.
1.
В произвольном месте со-
здать следующую структуру
каталогов:
/SRC/
/DST/
/X/
2.
Поместить в каталоги SRC и X
несколько произвольных фай-
лов допустимого формата и
размера.
3.
Создать в каталоге SRC две
символические ссылки: а) на
любой из файлов внутри ката-
лога SRC; б) на любой из
файлов внутри каталога X.
4.
Запустить приложение.
Дефект: в каталог DST пере-
мещены как файлы, так и сим-
волические ссылки; содержи-
мое каталога X обработано и
перемещено в каталог DST.
Воспро- изводи- мость Важность Сроч- ность Симптом Возмож- ность обойти Комментарий Всегда
Высокая
Обычная
Некор-
ректная
операция
Нет
Быстрый взгляд на код показал,
что вместо is_file() используется
file_exists().
Похоже, проблема в
этом. Также этот дефект приво-
дит к попытке обработать ката-
логи как файлы (см. BR-999.99).
В алгоритме обработки
SOURCE_DIR
явно есть логиче-
ская ошибка: ни при каких усло-
виях приложение не должно об-
рабатывать файлы, находящиеся
вне SOURCE_DIR, т.е. что-то не
так с генерацией или проверкой
полных имён файлов.