From 6c054f88ea48d9faa0a27161b13d03283e1d866f Mon Sep 17 00:00:00 2001 From: Juergen Hoeller Date: Wed, 5 Jun 2024 00:01:52 +0200 Subject: [PATCH] Defensively handle UncheckedIOException cause (for NullAway compliance) --- .../http/client/ReactorNettyClientRequest.java | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/spring-web/src/main/java/org/springframework/http/client/ReactorNettyClientRequest.java b/spring-web/src/main/java/org/springframework/http/client/ReactorNettyClientRequest.java index e0f6f805ae..b60f37c98e 100644 --- a/spring-web/src/main/java/org/springframework/http/client/ReactorNettyClientRequest.java +++ b/spring-web/src/main/java/org/springframework/http/client/ReactorNettyClientRequest.java @@ -131,15 +131,16 @@ final class ReactorNettyClientRequest extends AbstractStreamingClientHttpRequest // Exceptions.ReactiveException is package private Throwable cause = ex.getCause(); - if (cause instanceof UncheckedIOException uioEx) { - return uioEx.getCause(); - } - else if (cause instanceof IOException ioEx) { + if (cause instanceof IOException ioEx) { return ioEx; } - else { - return new IOException(ex.getMessage(), cause); + if (cause instanceof UncheckedIOException uioEx) { + IOException ioEx = uioEx.getCause(); + if (ioEx != null) { + return ioEx; + } } + return new IOException(ex.getMessage(), cause); }