Browse Source

ObjectWalk: Add null check before skip tree.

currVisit could be null if a blob is marked as start point in
ObjectWalk. Add null check before skipping current tree.

Change-Id: Ic5d876fe2800f3373d136979be6c27d1bbd38dc1
Signed-off-by: Yunjie Li <yunjieli@google.com>
stable-5.8
Yunjie Li 5 years ago
parent
commit
7ba261fb5f
  1. 8
      org.eclipse.jgit.test/tst/org/eclipse/jgit/revwalk/ObjectWalkTest.java
  2. 2
      org.eclipse.jgit/src/org/eclipse/jgit/revwalk/ObjectWalk.java

8
org.eclipse.jgit.test/tst/org/eclipse/jgit/revwalk/ObjectWalkTest.java

@ -216,4 +216,12 @@ public class ObjectWalkTest extends RevWalkTestCase {
assertSame(rw.lookupBlob(bId), objw.nextObject()); assertSame(rw.lookupBlob(bId), objw.nextObject());
assertNull(objw.nextObject()); assertNull(objw.nextObject());
} }
@Test
public void testSkipTreeWhenStartFromBlob() throws Exception {
final RevBlob f1 = blob("1");
objw.markStart(f1);
assertSame(f1, objw.nextObject());
objw.skipTree();
}
} }

2
org.eclipse.jgit/src/org/eclipse/jgit/revwalk/ObjectWalk.java

@ -364,8 +364,10 @@ public class ObjectWalk extends RevWalk {
* @since 5.4 * @since 5.4
*/ */
public void skipTree() { public void skipTree() {
if (currVisit != null) {
currVisit.ptr = currVisit.buf.length; currVisit.ptr = currVisit.buf.length;
} }
}
/** /**
* Pop the next most recent object. * Pop the next most recent object.

Loading…
Cancel
Save