皇上,还记得我吗?我就是1999年那个Linux伊甸园啊-----24小时滚动更新开源资讯,全年无休!

JRuby 9.2.11.1 发布,Java 的 Ruby 解释器

JRuby 9.2.11.1 发布了。JRuby 是面向 Ruby、基于 Java 虚拟机 JVM 的一种解释程序,它结合了 Ruby 语言的简易性和功能强大的 JVM 执行机制,并与 Java 库全面集成。

JRuby 9.2.x 与 Ruby 2.5.x 兼容,并与 C Ruby 保持同步。

9.2.11.1 是一个解决了单个问题的迷你发行版,该版本解决的问题:

  • 带有精度的 printf 子字符串格式可能会暴露字符(#6137)

具体来讲,如果使用精度说明符(例如 %.1s)格式化字符串,然后传入较大字符串的子字符串,则格式化结果中可能会看到一些较大字符串的字符。这是由于内部 String 数据处理中的 bug 导致结果包含的字符数超过了请求的字符数。

long_string = "aabbccddhelloddccbbaa"
start_index = 8
sub_str_length = 5
precision = 3
sub_string = long_string[start_index, sub_str_length]
puts sprintf("%.#{precision}s", sub_string)
# => helloddccbb

此问题可能会暴露原始 String 中的敏感内容,官方建议升级。详情查看更新说明:https://www.jruby.org/2020/03/25/jruby-9-2-11-1.html

转自 https://www.oschina.net/news/114361/jruby-9-2-11-1-released