From 631ac62cd0f0b2292f12925cc129e067b1c74e29 Mon Sep 17 00:00:00 2001 From: Francesco Nigro Date: Tue, 11 Feb 2025 17:03:12 +0100 Subject: [PATCH] Close the Jackson Generator to save buffer leaks --- .../avro/src/main/java/org/apache/avro/Schema.java | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/lang/java/avro/src/main/java/org/apache/avro/Schema.java b/lang/java/avro/src/main/java/org/apache/avro/Schema.java index 2f0711ed401..f3bba56d430 100644 --- a/lang/java/avro/src/main/java/org/apache/avro/Schema.java +++ b/lang/java/avro/src/main/java/org/apache/avro/Schema.java @@ -444,12 +444,13 @@ public String toString(Collection referencedSchemas, boolean pretty) { String toString(Set knownNames, boolean pretty) { try { StringWriter writer = new StringWriter(); - JsonGenerator gen = FACTORY.createGenerator(writer); - if (pretty) - gen.useDefaultPrettyPrinter(); - toJson(knownNames, null, gen); - gen.flush(); - return writer.toString(); + try (JsonGenerator gen = FACTORY.createGenerator(writer)) { + if (pretty) + gen.useDefaultPrettyPrinter(); + toJson(knownNames, null, gen); + gen.flush(); + return writer.toString(); + } } catch (IOException e) { throw new AvroRuntimeException(e); }