Даступны ўбудаваны інтэрпрэтатар 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

Дадаць каментар