From 04ea94b45e747d19ad1bbf105434aab2f889f1ed Mon Sep 17 00:00:00 2001
From: gbellato <gbellato@localhost>
Date: Thu, 20 Sep 2007 13:54:09 +0000
Subject: [PATCH] Fix for 2244 : null pointer Exception in replication code.

---
 opendj-sdk/opends/src/server/org/opends/server/replication/plugin/AttrInfoSingle.java |   24 ++++++++++++++++++++----
 1 files changed, 20 insertions(+), 4 deletions(-)

diff --git a/opendj-sdk/opends/src/server/org/opends/server/replication/plugin/AttrInfoSingle.java b/opendj-sdk/opends/src/server/org/opends/server/replication/plugin/AttrInfoSingle.java
index e57959a..c6aad7e 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/replication/plugin/AttrInfoSingle.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/replication/plugin/AttrInfoSingle.java
@@ -107,7 +107,15 @@
       break;
 
     case REPLACE:
-      deleteTime = addTime = changeNumber;
+      if (value == null)
+      {
+        // REPLACE with null value is actually a DELETE
+        deleteTime = changeNumber;
+      }
+      else
+      {
+        deleteTime = addTime = changeNumber;
+      }
       value = newValue;
       break;
 
@@ -184,9 +192,17 @@
       }
       else
       {
-        addTime = changeNumber;
-        value = newValue;
-        deleteTime = changeNumber;
+        if (newValue == null)
+        {
+          value = newValue;
+          deleteTime = changeNumber;
+        }
+        else
+        {
+          addTime = changeNumber;
+          value = newValue;
+          deleteTime = changeNumber;
+        }
       }
       break;
 

--
Gitblit v1.10.0