提供嵌入式 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 编译器中的优化。
  • mruby-class-ext 中 Class#subclasses 和 Module#undefined_instance_methods 方法的实现。
  • 新的内置库 mruby-errno、mruby-set、mruby-dir 和 mruby-data。

来源: opennet.ru

添加评论