IMPORTANT FIX: small strings weren't getting a proper UTF-8 encoding (xkihzew)
`(.getBytes <string>)` was being used here instead of `(.getBytes <string> "UTF-8")` as is correct and done elsewhere. This means that small UTF-8 strings may have been incorrectly stored in environments where UTF-8 is not the default JVM character encoding. Bug was introduced in Nippy v2.6.0, released 9 days ago (2014 Mar 30). ********************************************************************* Please check for possible errors in Unicode text written using Nippy v2.6.0 if your JVM uses an alternative character encoding by default ********************************************************************* Really sorry about this, not sure how this slipped in. Thanks to @xkihzew for the bug report.
This commit is contained in:
parent
b75e6d1adc
commit
7d84099074
2 changed files with 7 additions and 1 deletions
|
|
@ -1,3 +1,9 @@
|
|||
## v2.6.1 / 2014 Apr 8
|
||||
|
||||
> **CRITICAL FIX** for v2.6.0 released 9 days ago. Please upgrade ASAP!
|
||||
|
||||
|
||||
|
||||
## v2.6.0 / 2014 Mar 30
|
||||
|
||||
> **Major release** with efficiency improvements, reliability improvements, and some new utils.
|
||||
|
|
|
|||
|
|
@ -186,7 +186,7 @@
|
|||
(extend-type String ; Optimized common-case type
|
||||
Freezable
|
||||
(freeze-to-out* [x ^DataOutput out]
|
||||
(let [ba (.getBytes x)]
|
||||
(let [ba (.getBytes x "UTF-8")]
|
||||
(if (<= (alength ^bytes ba) Byte/MAX_VALUE)
|
||||
(do (write-id out id-string-small)
|
||||
(write-bytes out ba :small))
|
||||
|
|
|
|||
Loading…
Reference in a new issue