@@ -18,9 +18,10 @@ function decodeUint64LE(bytes) {
18
18
warnPrecision ( ) ;
19
19
20
20
var byteLen = bytes . byteLength ;
21
+ var offset = bytes . byteOffset ;
21
22
var arrLen = byteLen / 8 ;
22
23
23
- var buffer = bytes . buffer . slice ( - byteLen ) ;
24
+ var buffer = bytes . buffer . slice ( offset , offset + byteLen ) ;
24
25
var uint32View = new Uint32Array ( buffer ) ;
25
26
26
27
var arr = new Array ( arrLen ) ;
@@ -42,9 +43,10 @@ function decodeInt64LE(bytes) {
42
43
warnPrecision ( ) ;
43
44
44
45
var byteLen = bytes . byteLength ;
46
+ var offset = bytes . byteOffset ;
45
47
var arrLen = byteLen / 8 ;
46
48
47
- var buffer = bytes . buffer . slice ( - byteLen ) ;
49
+ var buffer = bytes . buffer . slice ( offset , offset + byteLen ) ;
48
50
var uint32View = new Uint32Array ( buffer ) ;
49
51
var int32View = new Int32Array ( buffer ) ;
50
52
@@ -66,7 +68,8 @@ function decodeInt64LE(bytes) {
66
68
*/
67
69
function decodeNativeArray ( bytes , ArrayType ) {
68
70
var byteLen = bytes . byteLength ;
69
- var buffer = bytes . buffer . slice ( - byteLen ) ;
71
+ var offset = bytes . byteOffset ;
72
+ var buffer = bytes . buffer . slice ( offset , offset + byteLen ) ;
70
73
return new ArrayType ( buffer ) ;
71
74
}
72
75
0 commit comments