Страница 1 из 1

[bug!] упаковка RAR некоторых папок приводит к краху системы

Добавлено: Ср мар 14, 2012 02:56
Mellomann
Собственно, огромнейший баг, угробивший мне винду на рабочей машине. А также, угробит её всем тем, кто захочет повторить. И не говорите потом, что я не предупреждал.

Итак.
Имеем простой zip архив, в котором хранится ресурсы опортабливаемой программы и результаты её работы. Естественно содержимое имеет вот такой вид:

Код: Выделить всё

%AppData%\
%Common AppData%\
%Common Desktop%\
%Desktop%\
%Local AppData%\
%Personal%\
%Program Files Common%\
%ProgramFilesDir%\
%SystemRoot%\
%SystemSystem%\
Support\
build.bat
Package.ini
HKEY_CURRENT_USER.txt
HKEY_LOCAL_MACHINE.txt
HKEY_USERS.txt
и это, в принципе, нормально.
Но! Далее - весело.
1. Заходим тоталом в архив (любой версии и битности, не виляет)
2. Выделяем всё.
3. На другой панели открываем любую папку/диск.
4. "Упаковать..." -> RAR...
5. А далее... самое интересное. Он-то (RAR) упаковывает мне не только что было в архиве, но и лепит сюдаже с системных физических папок файлы тоже, благополучно потом удаляя и временно распакованое и реальные рабочие системные переменки.

Если всё описать кратко - когда упаковываемая и затем удаляемая папка выглядит как и системная переменная, будет удалена И СИСТЕМНАЯ ПАПКА ТОЖЕ!

Это есть наиголимейший БАГ!!! Будьте осторожны!
Наблюдается это на ВСЕХ версиях винрара.

з.ы.
Единственное, что непонятно, это - кто всё-таки виноват? С одной стороны - Тотал, который подсовывает не то, что надо, а с другой - архиватор, который не отличает папки от переменок и сносит всё к чертям...

з.з.ы.
Вариант "распакуй сначала и потом упакуй как есть" даёт аналогичный результат.

Добавлено: Чт мар 15, 2012 02:21
Моторокер
Разработчикам WinRAR уже написали? Я как-то переписывался, бодренько отвечали.

Добавлено: Чт мар 15, 2012 15:10
CaptainFlint
Mellomann
Я потестировал — и за упаковку кривых данных, и за удаление их ответственен WinRAR. Тотал просто передаёт ему пути, а тот уже раскрывает их как переменные окружения.

Добавлено: Чт мар 15, 2012 18:11
Mellomann
CaptainFlint
В виноватости архиватора сомнений уже нет, это он. Ибо 7z, cab, uha, zip и прочие мне такого не гадят и с системными переменками папки не путают.

Моторокер
Нет, ибо не нахожу формы обратной связи, форума, или вообще хоть чего-нибудь, где можно им ответить.
Моторокер писал(а):Я как-то переписывался
Если есть возможность снова переписываться - отпишите об этом баге, пожалуйста, пусть исправляют. Ибо такой мега-баг - хуже бсодов.

Добавлено: Чт мар 15, 2012 18:38
Flasher
Mellomann писал(а):ибо не нахожу формы обратной связи, форума, или вообще хоть чего-нибудь, где можно им ответить.
dev[AT]rarlab.com

Добавлено: Чт мар 15, 2012 19:56
CaptainFlint
[mod="CaptainFlint"]К плагинам тема отношения не имеет, поэтому переношу в "Общие вопросы". Несмотря на то, что это проблема WinRAR'а, с Тоталом всё-таки определённая связь имеется.[/mod]

Добавлено: Сб мар 17, 2012 19:48
antabu
С путаницей системных переменных и их виртуальных эмуляций столкнулся при экспорте картинки с помощью WinDjView Portable. Вместо Мои документы прога сохраняла файл внутри своей папки, потом долго не мог найти.

Добавлено: Сб мар 17, 2012 20:23
Mellomann
antabu
Насчёт портабле софта - история другая и не имеет к теме никакого отношения. А заключается она в изначально заданой изоляции портабельной программы от физических путей так, чтобы соблюдалась портабельность. Описаный случай портабли - фича, вытекающая из особенностей работы изолированых контейнеров.
Тут же (у WinRAR) наблюдается голимейший баг.

з.ы.
Да и, к слову, windjview не требует портаблезации и замечательно работает в неизолированом варианте, если заведомо его не привязывать к типам файлов.

Добавлено: Вт мар 20, 2012 19:19
antabu
Я с Вами полностью согласен.
windjview не будет прописывать значительное количество строк в реестре, если не назначить ассоциацию с .djvu?
В справке ТС, про внутренние ассоциации сказано: "Вы можете указать %2 вместо %1, тогда все выделенные файлы будут переданы в одну копию запущенной программы." Я думал, это свойство может заменить DDE. Однако, двойной клик по очередному файлу открывает его в другом окне программы, вместо очередной вкладки одного окна.
Извините за оффтоп.

Добавлено: Вт мар 20, 2012 20:03
Mellomann
antabu
Если его не ас-ть, то и смысл ему в реестр лазить? Никакого...
Хотя, это уже совсем другая история, не относящаяся к краху системы...

Добавлено: Чт мар 22, 2012 06:34
aldares
Древний баг ВинРара, ещё в 2- или 3-какой-то версии заметил. Когда sfx делал, в путь распаковки записыывал %ProgramFiles%, и туда на этапе упаковки попадал мой путь, а не подставлялся нужный на этапе распаковки...