From cf68f404d9ce967436a493ab16580f849f792e68 Mon Sep 17 00:00:00 2001 From: pansb Date: Tue, 28 Jul 2026 17:32:44 +0800 Subject: [PATCH] fix(flowable-rest):Resource Leakage Issue in Flowable-Rest Module --- .../process/BaseExecutionVariableResource.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/modules/flowable-rest/src/main/java/org/flowable/rest/service/api/runtime/process/BaseExecutionVariableResource.java b/modules/flowable-rest/src/main/java/org/flowable/rest/service/api/runtime/process/BaseExecutionVariableResource.java index 2b94bc0187b..05674be7655 100644 --- a/modules/flowable-rest/src/main/java/org/flowable/rest/service/api/runtime/process/BaseExecutionVariableResource.java +++ b/modules/flowable-rest/src/main/java/org/flowable/rest/service/api/runtime/process/BaseExecutionVariableResource.java @@ -82,12 +82,12 @@ protected byte[] getVariableDataByteArray(Execution execution, String variableNa response.setContentType("application/octet-stream"); } else if (RestResponseFactory.SERIALIZABLE_VARIABLE_TYPE.equals(variable.getType())) { - ByteArrayOutputStream buffer = new ByteArrayOutputStream(); - ObjectOutputStream outputStream = new ObjectOutputStream(buffer); - outputStream.writeObject(variable.getValue()); - outputStream.close(); - result = buffer.toByteArray(); - response.setContentType("application/x-java-serialized-object"); + try (ByteArrayOutputStream buffer = new ByteArrayOutputStream(); + ObjectOutputStream outputStream = new ObjectOutputStream(buffer)) { + outputStream.writeObject(variable.getValue()); + result = buffer.toByteArray(); + response.setContentType("application/x-java-serialized-object"); + } } else { throw new FlowableObjectNotFoundException("The variable does not have a binary data stream.", null);