BinaryHunkInputStream: accept CR-LF
Let's be lenient and accept hunk lines terminated by CR-LF, too, not just lines terminated by LF. Bug: 550111 Change-Id: I7f796df666300ab56cc6c07f22eda45fbf4c941e Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
This commit is contained in:
parent
0fb5f47d2e
commit
8bca5245e0
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2021 Thomas Wolf <thomas.wolf@paranor.ch> and others
|
* Copyright (C) 2021, 2022 Thomas Wolf <thomas.wolf@paranor.ch> and others
|
||||||
*
|
*
|
||||||
* This program and the accompanying materials are made available under the
|
* This program and the accompanying materials are made available under the
|
||||||
* terms of the Eclipse Distribution License v. 1.0 which is available at
|
* terms of the Eclipse Distribution License v. 1.0 which is available at
|
||||||
|
@ -90,7 +90,7 @@ private void fillBuffer() throws IOException {
|
||||||
byte[] encoded = new byte[Base85.encodedLength(length)];
|
byte[] encoded = new byte[Base85.encodedLength(length)];
|
||||||
for (int i = 0; i < encoded.length; i++) {
|
for (int i = 0; i < encoded.length; i++) {
|
||||||
int b = in.read();
|
int b = in.read();
|
||||||
if (b < 0 || b == '\n') {
|
if (b < 0 || b == '\r' || b == '\n') {
|
||||||
throw new EOFException(MessageFormat.format(
|
throw new EOFException(MessageFormat.format(
|
||||||
JGitText.get().binaryHunkInvalidLength,
|
JGitText.get().binaryHunkInvalidLength,
|
||||||
Integer.valueOf(lineNumber)));
|
Integer.valueOf(lineNumber)));
|
||||||
|
@ -99,6 +99,10 @@ private void fillBuffer() throws IOException {
|
||||||
}
|
}
|
||||||
// Must be followed by a newline; tolerate EOF.
|
// Must be followed by a newline; tolerate EOF.
|
||||||
int b = in.read();
|
int b = in.read();
|
||||||
|
if (b == '\r') {
|
||||||
|
// Be lenient and accept CR-LF, too.
|
||||||
|
b = in.read();
|
||||||
|
}
|
||||||
if (b >= 0 && b != '\n') {
|
if (b >= 0 && b != '\n') {
|
||||||
throw new StreamCorruptedException(MessageFormat.format(
|
throw new StreamCorruptedException(MessageFormat.format(
|
||||||
JGitText.get().binaryHunkMissingNewline,
|
JGitText.get().binaryHunkMissingNewline,
|
||||||
|
|
Loading…
Reference in New Issue