Terminate StreamCopy threads in case of errors

- fix NPE: don't invoke close() if no exception happened.

Bug: 513554
Change-Id: I29f9b2ac1607ee26521e8aba334facd20e4ad79c
Signed-off-by: Till Brychcy <register.eclipse@brychcy.de>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
This commit is contained in:
Till Brychcy 2017-10-04 10:40:23 +02:00 committed by Matthias Sohn
parent 65f9046547
commit 401c6c98b5
1 changed files with 12 additions and 4 deletions

View File

@ -283,12 +283,12 @@ class SshFetchConnection extends BasePackFetchConnection {
init(process.getInputStream(), process.getOutputStream());
} catch (TransportException err) {
close();
throw err;
} catch (Throwable err) {
close();
throw new TransportException(uri,
JGitText.get().remoteHungUpUnexpectedly, err);
} finally {
close();
}
try {
@ -341,12 +341,20 @@ class SshPushConnection extends BasePackPushConnection {
init(process.getInputStream(), process.getOutputStream());
} catch (TransportException err) {
try {
close();
} catch (Exception e) {
// ignore
}
throw err;
} catch (Throwable err) {
try {
close();
} catch (Exception e) {
// ignore
}
throw new TransportException(uri,
JGitText.get().remoteHungUpUnexpectedly, err);
} finally {
close();
}
try {