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

Додати коментар або відгук