You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by md...@apache.org on 2016/12/14 15:47:59 UTC

svn commit: r1774277 - /jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/MapRecord.java

Author: mduerig
Date: Wed Dec 14 15:47:58 2016
New Revision: 1774277

URL: http://svn.apache.org/viewvc?rev=1774277&view=rev
Log:
OAK-5293: Static code analysis and code cleanup
Fix possible null dereference

Modified:
    jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/MapRecord.java

Modified: jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/MapRecord.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/MapRecord.java?rev=1774277&r1=1774276&r2=1774277&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/MapRecord.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/MapRecord.java Wed Dec 14 15:47:58 2016
@@ -475,13 +475,18 @@ public class MapRecord extends Record {
         while (beforeEntry != null || afterEntry != null) {
             int d = compare(beforeEntry, afterEntry);
             if (d < 0) {
+                assert beforeEntry != null;
                 if (!diff.childNodeDeleted(
                         beforeEntry.getName(), beforeEntry.getNodeState())) {
                     return false;
                 }
                 beforeEntry = nextOrNull(beforeEntries);
             } else if (d == 0) {
-                if (!beforeEntry.getValue().equals(afterEntry.getValue())
+                assert beforeEntry != null;
+                assert afterEntry != null;
+                RecordId beforeValue = beforeEntry.getValue();
+                assert beforeValue != null;
+                if (!beforeValue.equals(afterEntry.getValue())
                         && !diff.childNodeChanged(
                                 beforeEntry.getName(),
                                 beforeEntry.getNodeState(),
@@ -491,6 +496,7 @@ public class MapRecord extends Record {
                 beforeEntry = nextOrNull(beforeEntries);
                 afterEntry = nextOrNull(afterEntries);
             } else {
+                assert afterEntry != null;
                 if (!diff.childNodeAdded(
                         afterEntry.getName(), afterEntry.getNodeState())) {
                     return false;