From bde0b46021190aa4c8e5553dd36561f45b130abb Mon Sep 17 00:00:00 2001 From: Jordi Baylina Date: Wed, 21 Oct 2020 15:16:31 +0200 Subject: [PATCH] Fix 0 sized slice and sets --- build/main.cjs | 4 +++- src/bigbuffer.js | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/build/main.cjs b/build/main.cjs index ce453e9..4ba3789 100644 --- a/build/main.cjs +++ b/build/main.cjs @@ -5103,7 +5103,7 @@ class BigBuffer { const firstPage = Math.floor(fr / PAGE_SIZE); const lastPage = Math.floor((fr+len-1) / PAGE_SIZE); - if (firstPage == lastPage) + if ((firstPage == lastPage)||(len==0)) return this.buffers[firstPage].slice(fr%PAGE_SIZE, fr%PAGE_SIZE + len); let buff; @@ -5138,6 +5138,8 @@ class BigBuffer { const len = buff.byteLength; + if (len==0) return; + const firstPage = Math.floor(offset / PAGE_SIZE); const lastPage = Math.floor((offset+len-1) / PAGE_SIZE); diff --git a/src/bigbuffer.js b/src/bigbuffer.js index ac6aa19..91fb93b 100644 --- a/src/bigbuffer.js +++ b/src/bigbuffer.js @@ -21,7 +21,7 @@ export default class BigBuffer { const firstPage = Math.floor(fr / PAGE_SIZE); const lastPage = Math.floor((fr+len-1) / PAGE_SIZE); - if (firstPage == lastPage) + if ((firstPage == lastPage)||(len==0)) return this.buffers[firstPage].slice(fr%PAGE_SIZE, fr%PAGE_SIZE + len); let buff; @@ -56,6 +56,8 @@ export default class BigBuffer { const len = buff.byteLength; + if (len==0) return; + const firstPage = Math.floor(offset / PAGE_SIZE); const lastPage = Math.floor((offset+len-1) / PAGE_SIZE);