From 57c0b26d867a9f6550c340d946eea36f0806d436 Mon Sep 17 00:00:00 2001 From: Andrea Boriero Date: Wed, 11 Dec 2024 12:33:16 +0100 Subject: [PATCH] HHH-14725 Fix reset handling on BlobProxy --- .../hibernate/engine/jdbc/proxy/BlobProxy.java | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/hibernate-core/src/main/java/org/hibernate/engine/jdbc/proxy/BlobProxy.java b/hibernate-core/src/main/java/org/hibernate/engine/jdbc/proxy/BlobProxy.java index 68d91a37c33..12e12dcae0f 100644 --- a/hibernate-core/src/main/java/org/hibernate/engine/jdbc/proxy/BlobProxy.java +++ b/hibernate-core/src/main/java/org/hibernate/engine/jdbc/proxy/BlobProxy.java @@ -70,8 +70,9 @@ private BlobProxy(InputStream stream, long length) { } private void setStreamMark() { - if ( binaryStream.getInputStream().markSupported() ) { - binaryStream.getInputStream().mark( markBytes ); + final InputStream inputStream = binaryStream.getInputStream(); + if ( inputStream != null && inputStream.markSupported() ) { + inputStream.mark( markBytes ); resetAllowed = true; } else { @@ -92,12 +93,14 @@ public BinaryStream getUnderlyingStream() throws SQLException { private void resetIfNeeded() throws SQLException { try { if ( needsReset ) { - if ( !resetAllowed ) { + final InputStream inputStream = binaryStream.getInputStream(); + if ( !resetAllowed && inputStream != null) { throw new SQLException( "Underlying stream does not allow reset" ); } - - binaryStream.getInputStream().reset(); - setStreamMark(); + if ( inputStream != null ) { + inputStream.reset(); + setStreamMark(); + } } } catch ( IOException ioe) {