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 是一個解決了單個問題的迷你發行版,該版本解決的問題:
具體來講,如果使用精度說明符(例如 %.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
[admin
]