aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--org.eclipse.jgit/.settings/org.eclipse.jdt.core.prefs2
-rw-r--r--org.eclipse.jgit/src/org/eclipse/jgit/dircache/DirCacheTree.java1
-rw-r--r--org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsPackFile.java24
-rw-r--r--org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/PackFile.java25
-rw-r--r--org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/RefDirectory.java3
5 files changed, 39 insertions, 16 deletions
diff --git a/org.eclipse.jgit/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.jgit/.settings/org.eclipse.jdt.core.prefs
index 32de0e9ce3..4e28e0b26b 100644
--- a/org.eclipse.jgit/.settings/org.eclipse.jdt.core.prefs
+++ b/org.eclipse.jgit/.settings/org.eclipse.jdt.core.prefs
@@ -71,7 +71,7 @@ org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=ignore
org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=error
org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore
org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/dircache/DirCacheTree.java b/org.eclipse.jgit/src/org/eclipse/jgit/dircache/DirCacheTree.java
index 83aa8fa4de..f139afc00b 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/dircache/DirCacheTree.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/dircache/DirCacheTree.java
@@ -478,6 +478,7 @@ public class DirCacheTree {
// The entry is contained in this subtree.
//
+ assert(st != null);
st.validate(cache, cCnt, cIdx, pathOff + st.nameLength() + 1);
cIdx += st.entrySpan;
entrySpan += st.entrySpan;
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsPackFile.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsPackFile.java
index 75b0646ed0..96f1d542ca 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsPackFile.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/dfs/DfsPackFile.java
@@ -533,7 +533,6 @@ public final class DfsPackFile {
return ByteBuffer.wrap(copyBuf, 0, bs);
}
- @SuppressWarnings("null")
void copyAsIs(PackOutputStream out, DfsObjectToPack src,
boolean validate, DfsReader ctx) throws IOException,
StoredObjectRepresentationNotAvailableException {
@@ -567,22 +566,26 @@ public final class DfsPackFile {
c = buf[headerCnt++] & 0xff;
} while ((c & 128) != 0);
if (validate) {
+ assert(crc1 != null && crc2 != null);
crc1.update(buf, 0, headerCnt);
crc2.update(buf, 0, headerCnt);
}
} else if (typeCode == Constants.OBJ_REF_DELTA) {
if (validate) {
+ assert(crc1 != null && crc2 != null);
crc1.update(buf, 0, headerCnt);
crc2.update(buf, 0, headerCnt);
}
readFully(src.offset + headerCnt, buf, 0, 20, ctx);
if (validate) {
+ assert(crc1 != null && crc2 != null);
crc1.update(buf, 0, 20);
crc2.update(buf, 0, 20);
}
headerCnt += 20;
} else if (validate) {
+ assert(crc1 != null && crc2 != null);
crc1.update(buf, 0, headerCnt);
crc2.update(buf, 0, headerCnt);
}
@@ -599,6 +602,7 @@ public final class DfsPackFile {
quickCopy = ctx.quickCopy(this, dataOffset, dataLength);
if (validate && idx(ctx).hasCRC32Support()) {
+ assert(crc1 != null);
// Index has the CRC32 code cached, validate the object.
//
expectedCRC = idx(ctx).findCRC32(src);
@@ -622,6 +626,7 @@ public final class DfsPackFile {
Long.valueOf(src.offset), getPackName()));
}
} else if (validate) {
+ assert(crc1 != null);
// We don't have a CRC32 code in the index, so compute it
// now while inflating the raw data to get zlib to tell us
// whether or not the data is safe.
@@ -709,16 +714,21 @@ public final class DfsPackFile {
while (cnt > 0) {
final int n = (int) Math.min(cnt, buf.length);
readFully(pos, buf, 0, n, ctx);
- if (validate)
+ if (validate) {
+ assert(crc2 != null);
crc2.update(buf, 0, n);
+ }
out.write(buf, 0, n);
pos += n;
cnt -= n;
}
- if (validate && crc2.getValue() != expectedCRC) {
- throw new CorruptObjectException(MessageFormat.format(
- JGitText.get().objectAtHasBadZlibStream,
- Long.valueOf(src.offset), getPackName()));
+ if (validate) {
+ assert(crc2 != null);
+ if (crc2.getValue() != expectedCRC) {
+ throw new CorruptObjectException(MessageFormat.format(
+ JGitText.get().objectAtHasBadZlibStream,
+ Long.valueOf(src.offset), getPackName()));
+ }
}
}
}
@@ -837,7 +847,6 @@ public final class DfsPackFile {
return buf.position();
}
- @SuppressWarnings("null")
ObjectLoader load(DfsReader ctx, long pos)
throws IOException {
try {
@@ -934,6 +943,7 @@ public final class DfsPackFile {
if (data == null)
throw new LargeObjectException();
+ assert(delta != null);
do {
// Cache only the base immediately before desired object.
if (cached)
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/PackFile.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/PackFile.java
index b29966eace..589a811735 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/PackFile.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/PackFile.java
@@ -366,7 +366,6 @@ public class PackFile implements Iterable<PackIndex.MutableEntry> {
}
}
- @SuppressWarnings("null")
private void copyAsIs2(PackOutputStream out, LocalObjectToPack src,
boolean validate, WindowCursor curs) throws IOException,
StoredObjectRepresentationNotAvailableException {
@@ -393,22 +392,26 @@ public class PackFile implements Iterable<PackIndex.MutableEntry> {
c = buf[headerCnt++] & 0xff;
} while ((c & 128) != 0);
if (validate) {
+ assert(crc1 != null && crc2 != null);
crc1.update(buf, 0, headerCnt);
crc2.update(buf, 0, headerCnt);
}
} else if (typeCode == Constants.OBJ_REF_DELTA) {
if (validate) {
+ assert(crc1 != null && crc2 != null);
crc1.update(buf, 0, headerCnt);
crc2.update(buf, 0, headerCnt);
}
readFully(src.offset + headerCnt, buf, 0, 20, curs);
if (validate) {
+ assert(crc1 != null && crc2 != null);
crc1.update(buf, 0, 20);
crc2.update(buf, 0, 20);
}
headerCnt += 20;
} else if (validate) {
+ assert(crc1 != null && crc2 != null);
crc1.update(buf, 0, headerCnt);
crc2.update(buf, 0, headerCnt);
}
@@ -425,6 +428,7 @@ public class PackFile implements Iterable<PackIndex.MutableEntry> {
quickCopy = curs.quickCopy(this, dataOffset, dataLength);
if (validate && idx().hasCRC32Support()) {
+ assert(crc1 != null);
// Index has the CRC32 code cached, validate the object.
//
expectedCRC = idx().findCRC32(src);
@@ -457,6 +461,7 @@ public class PackFile implements Iterable<PackIndex.MutableEntry> {
if (quickCopy != null) {
quickCopy.check(inf, tmp, dataOffset, (int) dataLength);
} else {
+ assert(crc1 != null);
long pos = dataOffset;
long cnt = dataLength;
while (cnt > 0) {
@@ -476,6 +481,7 @@ public class PackFile implements Iterable<PackIndex.MutableEntry> {
JGitText.get().shortCompressedStreamAt,
Long.valueOf(src.offset)));
}
+ assert(crc1 != null);
expectedCRC = crc1.getValue();
} else {
expectedCRC = -1;
@@ -535,16 +541,21 @@ public class PackFile implements Iterable<PackIndex.MutableEntry> {
while (cnt > 0) {
final int n = (int) Math.min(cnt, buf.length);
readFully(pos, buf, 0, n, curs);
- if (validate)
+ if (validate) {
+ assert(crc2 != null);
crc2.update(buf, 0, n);
+ }
out.write(buf, 0, n);
pos += n;
cnt -= n;
}
- if (validate && crc2.getValue() != expectedCRC) {
- throw new CorruptObjectException(MessageFormat.format(
- JGitText.get().objectAtHasBadZlibStream,
- Long.valueOf(src.offset), getPackFile()));
+ if (validate) {
+ assert(crc2 != null);
+ if (crc2.getValue() != expectedCRC) {
+ throw new CorruptObjectException(MessageFormat.format(
+ JGitText.get().objectAtHasBadZlibStream,
+ Long.valueOf(src.offset), getPackFile()));
+ }
}
}
}
@@ -712,7 +723,6 @@ public class PackFile implements Iterable<PackIndex.MutableEntry> {
, getPackFile()));
}
- @SuppressWarnings("null")
ObjectLoader load(final WindowCursor curs, long pos)
throws IOException, LargeObjectException {
try {
@@ -811,6 +821,7 @@ public class PackFile implements Iterable<PackIndex.MutableEntry> {
if (data == null)
throw new IOException(JGitText.get().inMemoryBufferLimitExceeded);
+ assert(delta != null);
do {
// Cache only the base immediately before desired object.
if (cached)
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/RefDirectory.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/RefDirectory.java
index 6d6d0cabd0..c7b60882a2 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/RefDirectory.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/RefDirectory.java
@@ -881,7 +881,6 @@ public class RefDirectory extends RefDatabase {
return n;
}
- @SuppressWarnings("null")
private LooseRef scanRef(LooseRef ref, String name) throws IOException {
final File path = fileFor(name);
FileSnapshot currentSnapshot = null;
@@ -920,6 +919,7 @@ public class RefDirectory extends RefDatabase {
final String target = RawParseUtils.decode(buf, 5, n);
if (ref != null && ref.isSymbolic()
&& ref.getTarget().getName().equals(target)) {
+ assert(currentSnapshot != null);
currentSnapshot.setClean(otherSnapshot);
return ref;
}
@@ -934,6 +934,7 @@ public class RefDirectory extends RefDatabase {
id = ObjectId.fromString(buf, 0);
if (ref != null && !ref.isSymbolic()
&& ref.getTarget().getObjectId().equals(id)) {
+ assert(currentSnapshot != null);
currentSnapshot.setClean(otherSnapshot);
return ref;
}