Доступен встраиваемый интерпретатор 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.

Источник: opennet.ru

Добавить комментарий