From 9ff69f265dae8f0647fb9c204fda070eafe25613 Mon Sep 17 00:00:00 2001
From: Matthew Swift <matthew.swift@forgerock.com>
Date: Wed, 13 Jun 2012 21:05:11 +0000
Subject: [PATCH] Fix OPENDJ-520: Worker threads are too greedy when caching memory used for encoding/decoding entries and protocol messages

---
 opends/src/server/org/opends/server/extensions/SASLByteChannel.java |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/opends/src/server/org/opends/server/extensions/SASLByteChannel.java b/opends/src/server/org/opends/server/extensions/SASLByteChannel.java
index d24ac6e..ceb69b1 100644
--- a/opends/src/server/org/opends/server/extensions/SASLByteChannel.java
+++ b/opends/src/server/org/opends/server/extensions/SASLByteChannel.java
@@ -147,8 +147,8 @@
           {
             // Avoid extra copy if ByteBuffer is array based.
             wrappedDataBytes = saslContext.wrap(unwrappedData.array(),
-                unwrappedData.arrayOffset(), wrapSize);
-            unwrappedData.position(unwrappedData.position() + wrapSize);
+                unwrappedData.arrayOffset() + unwrappedData.position(),
+                wrapSize);
           }
           else
           {
@@ -156,8 +156,8 @@
             unwrappedData.get(sendUnwrappedBytes, 0, wrapSize);
             wrappedDataBytes = saslContext
                 .wrap(sendUnwrappedBytes, 0, wrapSize);
-            unwrappedData.position(unwrappedData.position() + wrapSize);
           }
+          unwrappedData.position(unwrappedData.position() + wrapSize);
 
           // Encode SASL packet: 4 byte length + wrapped data.
           if (sendWrappedBuffer.capacity() < wrappedDataBytes.length + 4)

--
Gitblit v1.10.0