Eingebetteter mruby 3.2-Interpreter verfügbar

Einführung der Veröffentlichung von mruby 3.2, einem eingebetteten Interpreter für die dynamische objektorientierte Programmiersprache Ruby. Mruby bietet grundlegende Syntaxkompatibilität auf Ruby 3.x-Ebene, mit Ausnahme der Unterstützung für Mustervergleich („case .. in“). Der Interpreter hat einen geringen Speicherverbrauch und konzentriert sich auf die Einbettung der Ruby-Sprachunterstützung in andere Anwendungen. Der in die Anwendung integrierte Interpreter kann sowohl Quellcode in der Ruby-Sprache als auch Bytecode ausführen, der mit dem vom Projekt entwickelten „mrbc“-Compiler erhalten wurde. Der mruby-Quellcode wird unter der MIT-Lizenz vertrieben.

Die neue Version behebt 19 Schwachstellen, die zu Pufferüberläufen, Nullzeiger-Dereferenzierungen oder Speicherzugriff nach Freilauf führen können, wenn der Interpreter speziell formatierten Ruby-Code verarbeitet.

Zu den nicht sicherheitsrelevanten Änderungen gehören:

  • Unterstützung für die Übergabe anonymer Argumente (*, **, &),
  • Unterstützung für große ganze Zahlen (mruby-bigint).
  • Unterstützung für das Herunterladen kompilierter Binärdateien mit der Erweiterung „.mrb“.
  • Hinzufügen der Option „--no-optimize“, um Optimierungen im MRBC-Compiler zu deaktivieren.
  • Implementierung der Methoden Class#subclasses und Module#undefined_instance_methods in mruby-class-ext.
  • Neue integrierte Bibliotheken mruby-errno, mruby-set, mruby-dir und mruby-data.

Source: opennet.ru

Kommentar hinzufügen