Доступен встраиваемый интерпретатор mruby 3.2
Представлен выпуск mruby 3.2, встраиваемого интерпретатора динамического объектно-ориентированного языка программирования Ruby. Mruby обеспечивает базовую совместимость синтаксиса на уровне Ruby 3.x, за исключением поддержки сопоставления с образцом («case … in»). Интерпретатор отличается низким потреблением памяти и ориентирован на встраивание поддержки языка Ruby в другие приложения. Встроенный в приложение интерпретатор может выполнять как исходный код на языке Ruby, так и байткод, полученный при помощи развиваемого проектом компилятора «mrbc». Исходные тексты mruby распространяется под лицензией MIT.
В новом выпуске устранено 19 уязвимостей, которые могут привести к переполнению буфера, разыменованию нулевых указателей или обращению к памяти после её освобождения при обработке интерпретатором специально оформленного Ruby-кода.
Из не связанных с безопасностью изменений отмечается:
- Поддержка передачи анонимных аргументов (*, **, &),
- Поддержка больших целых чисел (mruby-bigint).
- Поддержка загрузки скомпилированных бинарных файлов с расширением ».mrb».
- Добавление опции »--no-optimize» для отключения оптимизаций в компиляторе mrbc.
- Реализация методов Class#subclasses и Module#undefined_instance_methods в mruby-class-ext.
- Новые встроенные библиотеки mruby-errno, mruby-set, mruby-dir и mruby-data.
Источник: http://www.opennet.ru/opennews/art.shtml? num=58713
© OpenNet