diff options
| author | livehl <livehl@126.com> | 2022-10-12 08:50:12 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-10-11 17:50:12 -0700 |
| commit | c34f04b35ba2f528d7ebfd183f0826c2632a339b (patch) | |
| tree | 2b89f0fbe1118e83b88cff822e42497827ff66de /other/java/client/src | |
| parent | f6c8720ded2158eeb2ae103b41e029ace092af55 (diff) | |
| download | seaweedfs-c34f04b35ba2f528d7ebfd183f0826c2632a339b.tar.xz seaweedfs-c34f04b35ba2f528d7ebfd183f0826c2632a339b.zip | |
fix bug : read error when position after 2147483647 (#3829)
Co-authored-by: huang.lin <hh@chaintool.ai>
Diffstat (limited to 'other/java/client/src')
| -rw-r--r-- | other/java/client/src/main/java/seaweedfs/client/SeaweedInputStream.java | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/other/java/client/src/main/java/seaweedfs/client/SeaweedInputStream.java b/other/java/client/src/main/java/seaweedfs/client/SeaweedInputStream.java index 9d1fb3417..64754321b 100644 --- a/other/java/client/src/main/java/seaweedfs/client/SeaweedInputStream.java +++ b/other/java/client/src/main/java/seaweedfs/client/SeaweedInputStream.java @@ -119,9 +119,8 @@ public class SeaweedInputStream extends InputStream { long bytesRead = 0; int len = buf.remaining(); - int start = (int) this.position; - if (start + len <= entry.getContent().size()) { - entry.getContent().substring(start, start + len).copyTo(buf); + if (this.position< Integer.MAX_VALUE && (this.position + len )<= entry.getContent().size()) { + entry.getContent().substring((int)this.position, (int)(this.position + len)).copyTo(buf); } else { bytesRead = SeaweedRead.read(this.filerClient, this.visibleIntervalList, this.position, buf, SeaweedRead.fileSize(entry)); } |
