From 6908a32efac182f7688ded2c7661885654d92701 Mon Sep 17 00:00:00 2001 From: georgweiss Date: Mon, 9 Jun 2025 09:11:13 +0200 Subject: [PATCH] Fix potential PV leak --- .../builder/representation/javafx/WidgetInfoDialog.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/app/display/representation-javafx/src/main/java/org/csstudio/display/builder/representation/javafx/WidgetInfoDialog.java b/app/display/representation-javafx/src/main/java/org/csstudio/display/builder/representation/javafx/WidgetInfoDialog.java index 39611732e1..b31ff7a606 100644 --- a/app/display/representation-javafx/src/main/java/org/csstudio/display/builder/representation/javafx/WidgetInfoDialog.java +++ b/app/display/representation-javafx/src/main/java/org/csstudio/display/builder/representation/javafx/WidgetInfoDialog.java @@ -658,14 +658,19 @@ private ArchivedStatus getFromArchiver(String pvName) { } // Prepend "archiver://" pvName = "archive://" + pvName + "(" + TimestampFormats.SECONDS_FORMAT.format(Instant.now()) + ")"; + PV pv = null; try { - PV pv = PVPool.getPV(pvName); + pv = PVPool.getPV(pvName); VType pvValue = pv.read(); - PVPool.releasePV(pv); return pvValue == null ? ArchivedStatus.NO : ArchivedStatus.YES; } catch (Exception e) { return ArchivedStatus.UNKNOWN; } + finally { + if(pv != null){ + PVPool.releasePV(pv); + } + } } private enum ArchivedStatus {