Disponibile interprete mruby 3.2 incorporato

Introdotta la versione di mruby 3.2, un interprete embedded per il linguaggio di programmazione dinamico orientato agli oggetti Ruby. Mruby fornisce compatibilità di base della sintassi al livello di Ruby 3.x, con l'eccezione del supporto per la corrispondenza dei modelli (“case .. in”). L'interprete consuma poca memoria e si concentra sull'incorporamento del supporto del linguaggio Ruby in altre applicazioni. L'interprete integrato nell'applicazione può eseguire sia il codice sorgente in linguaggio Ruby che il bytecode ottenuto utilizzando il compilatore “mrbc” sviluppato dal progetto. Il codice sorgente di mruby è distribuito sotto la licenza MIT.

La nuova versione risolve 19 vulnerabilità che possono portare a buffer overflow, dereferenziazioni di puntatori nulli o accesso alla memoria dopo la liberazione quando l'interprete elabora codice Ruby appositamente formattato.

Le modifiche non legate alla sicurezza includono:

  • Supporto per il passaggio di argomenti anonimi (*, **, &),
  • Supporto per numeri interi di grandi dimensioni (mruby-bigint).
  • Supporto per il download di binari compilati con estensione ".mrb".
  • Aggiunta dell'opzione "--no-optimize" per disabilitare le ottimizzazioni nel compilatore mrbc.
  • Implementazione delle sottoclassi Class# e dei metodi Module#unfine_instance_methods in mruby-class-ext.
  • Nuove librerie integrate mruby-errno, mruby-set, mruby-dir e mruby-data.

Fonte: opennet.ru

Aggiungi un commento