@@ -18,9 +18,10 @@ function decodeUint64LE(bytes) {
1818 warnPrecision ( ) ;
1919
2020 var byteLen = bytes . byteLength ;
21+ var offset = bytes . byteOffset ;
2122 var arrLen = byteLen / 8 ;
2223
23- var buffer = bytes . buffer . slice ( - byteLen ) ;
24+ var buffer = bytes . buffer . slice ( offset , offset + byteLen ) ;
2425 var uint32View = new Uint32Array ( buffer ) ;
2526
2627 var arr = new Array ( arrLen ) ;
@@ -42,9 +43,10 @@ function decodeInt64LE(bytes) {
4243 warnPrecision ( ) ;
4344
4445 var byteLen = bytes . byteLength ;
46+ var offset = bytes . byteOffset ;
4547 var arrLen = byteLen / 8 ;
4648
47- var buffer = bytes . buffer . slice ( - byteLen ) ;
49+ var buffer = bytes . buffer . slice ( offset , offset + byteLen ) ;
4850 var uint32View = new Uint32Array ( buffer ) ;
4951 var int32View = new Int32Array ( buffer ) ;
5052
@@ -66,7 +68,8 @@ function decodeInt64LE(bytes) {
6668*/
6769function decodeNativeArray ( bytes , ArrayType ) {
6870 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 ) ;
7073 return new ArrayType ( buffer ) ;
7174}
7275
0 commit comments