Это команда perl5125delta, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.
ПРОГРАММА:
ИМЯ
perl5125delta - что нового в perl v5.12.5
ОПИСАНИЕ
В этом документе описаны различия между выпуском 5.12.4 и выпуском 5.12.5.
Если вы обновляетесь с более ранней версии, такой как 5.12.3, сначала прочтите perl5124delta,
который описывает различия между 5.12.3 и 5.12.4.
Безопасность.
«Кодировать» decode_xs n-байт переполнение кучи (CVE-2011-2939)
Ошибка в «Кодировке» может на определенных входах вызвать переполнение кучи. Эта проблема
было исправлено. Об ошибке сообщил Роберт Зацек.
"File :: Glob :: bsd_glob ()" Память ошибка GLOB_ALTDIRFUNC (CVE-2011-2728).
Вызов "File :: Glob :: bsd_glob" с неподдерживаемым флагом GLOB_ALTDIRFUNC вызовет
нарушение доступа / segfault. Программа Perl, которая принимает значение флагов от внешнего
источник может подвергнуться атакам отказа в обслуживании или выполнению произвольного кода.
В дикой природе нет известных эксплойтов. Проблема была исправлена явно
отключение всех неподдерживаемых флагов и установка неиспользуемых указателей на функции в ноль. Ошибка
сообщает Клеман Лесин.
куча буфер перерасход in 'X' string повторять оператор (CVE-2012-5195)
Плохо написанный код Perl, позволяющий злоумышленнику указать счетчик в строке Perl 'x'.
Оператор повторения уже может вызвать атаку отказа в обслуживании из-за нехватки памяти. Недостаток в
версии perl до 5.15.5 могут привести к переполнению буфера кучи; в сочетании с
версии glibc до 2.16, возможно, он позволяет выполнять произвольный код.
Проблема решена.
Несовместимый изменения
Изменений, намеренно несовместимых с 5.12.4, нет. Если есть, то это ошибки
и отчеты приветствуются.
Модули и Прагмата
обновлено Модули
B :: Лаконичный
B :: Concise больше не производит искаженный вывод с -дерево вариант [perl # 80632].
имена персонажей
Исправлена регрессия, появившаяся в Perl 5.8.8, из-за которой charnames ::виакод(0) до
вернуть «undef» вместо строки «NULL» [perl # 72624].
Кодировать и было повышен от версия 2.39 в версия 2.39_01.
См. «Безопасность».
File :: Glob и было повышен от версия 1.07 в версия 1.07_01.
См. «Безопасность».
Юникод :: UCD
В документации по «верхней» функции теперь написано «верхняя», а не «нижняя».
Модуль :: CoreList
Module :: CoreList обновлен до версии 2.50_02, чтобы добавить данные для этого выпуска.
изменения в Существующий Документация
Perlebcdic
Документ perlebcdic содержит полезную таблицу для использования в "tr ///" для преобразования между
EBCDIC и Latin1 / ASCII. К сожалению, таблица оказалась противоположной той, которая была на ней.
описывает. Это было исправлено.
перлуникод
В разделе о сопоставлениях, определяемых пользователем, была некорректная разметка и нечеткие предложения,
сделать его части нечитаемыми. Это было исправлено.
перлуни
В этот документ были внесены поправки с учетом платформ, отличных от ASCII.
Установка: и Конфигурация Улучшения
Платформа Конкретный изменения
Mac OS X
Были внесены исправления в конфигурацию и тесты, чтобы сделать Perl-сборку чистой на Lion и
Горный лев.
NetBSD
Файл подсказок NetBSD был исправлен для совместимости с NetBSD 6. *
Выбранный Ошибка Исправления
· "Chop" теперь правильно обрабатывает символы выше "\ x {7fffffff}" [perl # 73246].
· "($ <, $>) = (...)" перестало работать должным образом в 5.12.0. Предполагается сделать сингл
"setreuid ()" вызывает, а не вызывает "setruid ()" и "seteuid ()" по отдельности.
Следовательно, он не работал должным образом. Это было исправлено [perl # 75212].
· Исправлен регресс убийство() когда переменная соответствия используется для идентификатора процесса для уничтожения
[perl # 75812].
· "UNIVERSAL :: VERSION" больше не пропускает память. Он начал просачиваться в Perl 5.10.0.
· Функции уровня C "my_strftime" больше не вызывают утечку памяти. Это устраняет утечку памяти
в "POSIX :: strftime" [perl # 73520].
· "Вызывающий" больше не утекает память при вызове из пакета БД, если @DB :: args был
назначается после первого звонка «звонящему». Эту ошибку запускал Carp [perl
№ 97010].
· Передача в "index" смещения за концом строки при кодировании строки
внутри UTF8 больше не вызывает паники [perl # 75898].
· Синтаксические ошибки в блоках "(? {...})" в регулярных выражениях больше не вызывают паники
сообщения [perl # 2353].
· Perl 5.10.0 представил некоторую ошибочную логику, которая сделала "U *" в середине пакета
шаблон, эквивалентный «U0», если входная строка была пустой. Это было исправлено [perl
№ 90160].
Опечатки
расколоть() и @_
расколоть() больше не изменяет @_ при вызове в скалярном или пустом контексте. В пустом контексте это
теперь выдает предупреждение «Бесполезное использование разделения». На самом деле это изменение, внесенное в
perl 5.12.0, но он отсутствовал в perl5120delta этого выпуска.
Благодарности
Perl 5.12.5 представляет собой примерно 17 месяцев разработки, начиная с Perl 5.12.4 и
содержит примерно 1,900 строк изменений в 64 файлах от 18 авторов.
Perl продолжает процветать уже третье десятилетие благодаря активному сообществу пользователей.
и разработчики. Следующие люди, как известно, внесли улучшения, которые
стал Perl 5.12.5:
Энди Догерти, Крис «BinGOs» Уильямс, Крейг А. Берри, Дэвид Митчелл, Доминик
Харгривз, отец Хризостомос, Флориан Рагвиц, Джордж Грир, Горо Фудзи, Джесси Винсент,
Карл Уильямсон, Леон Брокар, Николас Кларк, Рафаэль Гарсиа-Суарес, Рейни Урбан, Рикардо
Сигнес, Стив Хэй, Тони Кук.
Приведенный выше список почти наверняка неполный, поскольку он автоматически создается из
история контроля версий. В частности, он не включает имена (очень много
признательны) участников, которые сообщили о проблемах в систему отслеживания ошибок Perl.
Многие изменения, включенные в эту версию, возникли в модулях CPAN, включенных в
Ядро Perl. Мы благодарны всему сообществу CPAN за помощь Perl в процветании.
Для получения более полного списка всех исторических участников Perl см. АВТОРЫ
файл в исходном дистрибутиве Perl.
Отчетность ошибки
Если вы обнаружите, что, по вашему мнению, является ошибкой, вы можете проверить статьи, недавно опубликованные в
comp.lang.perl.misc группа новостей и база данных ошибок perl на http://rt.perl.org/perlbug/ .
Также может быть информация на http://www.perl.org/ , домашняя страница Perl.
Если вы считаете, что у вас есть ошибка, о которой не сообщалось, запустите Perlbug программа включена в
ваш выпуск. Обязательно уменьшите количество ошибок до крошечного, но достаточного тестового примера. Ваша ошибка
отчет вместе с выводом "perl -V" будет отправлен в [электронная почта защищена] быть
проанализирован командой портирования Perl.
Если ошибка, о которой вы сообщаете, имеет последствия для безопасности, что делает ее неприемлемой
отправьте его в общедоступный архивный список рассылки, затем отправьте его по адресу
[электронная почта защищена]. Это указывает на закрытую подписку на неархивированную рассылку
список, который включает всех основных коммиттеров, которые могут помочь оценить влияние
проблемы, найти решение и помочь координировать выпуск исправлений для смягчения
или исправить проблему на всех платформах, на которых поддерживается Perl. Пожалуйста, используйте только это
решать проблемы безопасности в ядре Perl, а не для модулей, независимо распределенных на
КПАН.
Используйте perl5125delta в Интернете с помощью сервисов onworks.net
