Jonas Jenwald f2fa053c51 Ensure that MurmurHash3_64.update handles ArrayBuffer input correctly, to avoid hash-collisions (issue 12533)
Different fonts incorrectly end up with *identical* hashes, despite having different /ToUnicode data.
The issue, and it's very interesting that we've apparently not seen it before, appears to be caused by the fact that different /ToUnicode entries share the *same* underlying `ArrayBuffer`, which thus becomes problematic at the `const dataUint32 = new Uint32Array(data.buffer, 0, blockCounts);` line. The simplest solution thus seem to be to just *copy* the input, when it's an `ArrayBuffer`, rather than using it as-is. (Note that if we'd stringified the input, when calling `MurmurHash3_64.update`, the issue would also have been fixed. In this case, we're already creating an unique TypedArray.)
2020-10-26 16:27:33 +01:00
..
2020-04-14 12:28:14 +02:00
2017-01-29 23:24:44 +01:00
2020-04-17 12:24:46 +02:00
2020-07-30 11:10:37 +02:00
2018-11-23 13:49:58 +01:00
2013-03-15 11:24:08 -07:00
2020-04-14 12:28:14 +02:00
2020-10-03 23:06:31 +02:00
2020-04-14 12:28:14 +02:00