From 43a8d886b8ab0da2358cd1ddc820cd5e5c06478f Mon Sep 17 00:00:00 2001
From: floblanc <floblanc@localhost>
Date: Thu, 30 Oct 2008 09:38:44 +0000
Subject: [PATCH] Fix Issue 3540:  Network Group: Uncaught java.lang.OutOfMemoryError while looping on calling dsconfig setting config properties

---
 opends/src/server/org/opends/server/core/networkgroups/NetworkGroupCriteria.java |   12 +++++++++++-
 1 files changed, 11 insertions(+), 1 deletions(-)

diff --git a/opends/src/server/org/opends/server/core/networkgroups/NetworkGroupCriteria.java b/opends/src/server/org/opends/server/core/networkgroups/NetworkGroupCriteria.java
index 02b0286..f8b3c7a 100644
--- a/opends/src/server/org/opends/server/core/networkgroups/NetworkGroupCriteria.java
+++ b/opends/src/server/org/opends/server/core/networkgroups/NetworkGroupCriteria.java
@@ -70,6 +70,9 @@
   private PortCriteria portCriteria;
   private SecurityCriteria securityCriteria;
 
+  // The current config
+  private NetworkGroupCriteriaCfg config;
+
   /**
    * Constructor.
    *
@@ -93,6 +96,10 @@
     portCriteria = null;
     securityCriteria = null;
     isConfigured = false;
+    if (config != null) {
+      config.removeChangeListener(this);
+      config = null;
+    }
   }
 
   /**
@@ -142,7 +149,10 @@
         securityCriteria = null;
       }
       isConfigured = true;
-      criteriaCfg.addChangeListener(this);
+      if (config == null) {
+        criteriaCfg.addChangeListener(this);
+      }
+      config = criteriaCfg;
     } else {
       resetCriteria();
     }

--
Gitblit v1.10.0