Dostupan ugrađeni prevoditelj mruby 3.2

Predstavljeno izdanje mruby 3.2, ugrađenog tumača za dinamički objektno orijentirani programski jezik Ruby. Mruby pruža osnovnu kompatibilnost sintakse na razini Ruby 3.x, s izuzetkom podrške za podudaranje uzorka ("case .. in"). Tumač ima malu potrošnju memorije i fokusiran je na ugradnju podrške za jezik Ruby u druge aplikacije. Tumač ugrađen u aplikaciju može izvršiti i izvorni kod na jeziku Ruby i bajt kod dobiven korištenjem “mrbc” prevoditelja razvijenog u okviru projekta. Izvorni kod mruby distribuira se pod licencom MIT-a.

Novo izdanje popravlja 19 ranjivosti koje mogu dovesti do prekoračenja međuspremnika, dereferenciranja nultog pokazivača ili pristupa memoriji nakon oslobađanja kada tumač obrađuje posebno formatirani Ruby kod.

Promjene koje nisu sigurnosne uključuju:

  • Podrška za prosljeđivanje anonimnih argumenata (*, **, &),
  • Podrška za velike cijele brojeve (mruby-bigint).
  • Podrška za preuzimanje kompajliranih binarnih datoteka s ekstenzijom ".mrb".
  • Dodavanje opcije "--no-optimize" za onemogućavanje optimizacije u mrbc prevoditelju.
  • Implementacija metoda Class#subclasses i Module#undefined_instance_methods u mruby-class-ext.
  • Nove ugrađene biblioteke mruby-errno, mruby-set, mruby-dir i mruby-data.

Izvor: opennet.ru

Dodajte komentar