-
Bug
-
Resolution: Fixed
-
P4
-
17, 21, 22
-
b21
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8354630 | 21.0.8 | Aleksey Shipilev | P4 | Resolved | Fixed | master |
SonarCloud reports a problem in PumpReader here:
https://github.com/openjdk/jdk/blob/354c6605e32790ca421869636d8bf5456fc51717/src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/PumpReader.java#L417
@Override
public int read() throws IOException {
if (!buffer.hasRemaining() && !readUsingBuffer()) {
return EOF;
}
return buffer.get(); // <---- here
}
InputStream returns -1 as EOF, but that might be as well the value of signed byte from get(). We need cast to `& 0xFF` here.
https://github.com/openjdk/jdk/blob/354c6605e32790ca421869636d8bf5456fc51717/src/jdk.internal.le/share/classes/jdk/internal/org/jline/utils/PumpReader.java#L417
@Override
public int read() throws IOException {
if (!buffer.hasRemaining() && !readUsingBuffer()) {
return EOF;
}
return buffer.get(); // <---- here
}
InputStream returns -1 as EOF, but that might be as well the value of signed byte from get(). We need cast to `& 0xFF` here.
- backported by
-
JDK-8354630 org.jline.util.PumpReader signed byte problem
-
- Resolved
-
- links to
-
Commit openjdk/jdk/bea2d486
-
Commit(master) openjdk/jdk21u-dev/9c5807b2
-
Review openjdk/jdk/16053
-
Review(master) openjdk/jdk21u-dev/1552