Anaa ang naka-embed nga mruby 3.2 interpreter

Gipaila ang pagpagawas sa mruby 3.2, usa ka embedded interpreter alang sa dinamikong object-oriented programming language nga Ruby. Naghatag si Mruby og batakang syntax compatibility sa Ruby 3.x nga lebel, gawas sa suporta sa pattern matching (“case .. in”). Ang tighubad adunay gamay nga konsumo sa memorya ug naka-focus sa pag-embed sa suporta sa pinulongang Ruby sa ubang mga aplikasyon. Ang interpreter nga gitukod sa aplikasyon mahimong magpatuman sa duha ka source code sa Ruby nga pinulongan ug bytecode nga nakuha gamit ang "mrbc" compiler nga gihimo sa proyekto. Ang mruby source code giapod-apod ubos sa lisensya sa MIT.

Ang bag-ong pagpagawas nag-ayo sa 19 ka mga kahuyangan nga mahimong mosangpot sa buffer overflows, null pointer dereferences, o memory access human nga libre kung ang tighubad nagproseso sa espesyal nga pormat nga Ruby code.

Ang mga pagbag-o sa dili seguridad naglakip sa:

  • Suporta alang sa pagpasa sa dili mailhan nga mga argumento (*, **, &),
  • Suporta alang sa dagkong mga integer (mruby-bigint).
  • Suporta alang sa pag-download sa mga gihugpong binary nga adunay extension nga ".mrb".
  • Pagdugang "--no-optimize" nga kapilian aron dili paganahon ang mga pag-optimize sa mrbc compiler.
  • Pagpatuman sa Klase#subclasses ug Module#undefined_instance_methods mga pamaagi sa mruby-class-ext.
  • Bag-ong built-in nga mga librarya mruby-errno, mruby-set, mruby-dir ug mruby-data.

Source: opennet.ru

Idugang sa usa ka comment