Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrey Loskutov2016-02-26 09:30:04 +0000
committerAndrey Loskutov2016-02-26 15:06:12 +0000
commit599f8ad058190b3b976c5ad1b9b9491f5c1a4e1a (patch)
tree2be67f655159c905fdf7c76b465a39d1343a240d /org.eclipse.egit.core/src/org/eclipse/egit/core/op
parent5dc7ac99cb0b52ad87e2c563f5dfecf9a800e82c (diff)
downloadegit-599f8ad058190b3b976c5ad1b9b9491f5c1a4e1a.tar.gz
egit-599f8ad058190b3b976c5ad1b9b9491f5c1a4e1a.tar.xz
egit-599f8ad058190b3b976c5ad1b9b9491f5c1a4e1a.zip
Check resource.getProject() for null before dereferencing it
Diffstat (limited to 'org.eclipse.egit.core/src/org/eclipse/egit/core/op')
-rw-r--r--org.eclipse.egit.core/src/org/eclipse/egit/core/op/AssumeUnchangedOperation.java15
-rw-r--r--org.eclipse.egit.core/src/org/eclipse/egit/core/op/CreatePatchOperation.java2
-rw-r--r--org.eclipse.egit.core/src/org/eclipse/egit/core/op/UntrackOperation.java3
3 files changed, 15 insertions, 5 deletions
diff --git a/org.eclipse.egit.core/src/org/eclipse/egit/core/op/AssumeUnchangedOperation.java b/org.eclipse.egit.core/src/org/eclipse/egit/core/op/AssumeUnchangedOperation.java
index 527813d257..f401a2c772 100644
--- a/org.eclipse.egit.core/src/org/eclipse/egit/core/op/AssumeUnchangedOperation.java
+++ b/org.eclipse.egit.core/src/org/eclipse/egit/core/op/AssumeUnchangedOperation.java
@@ -120,12 +120,17 @@ public class AssumeUnchangedOperation implements IEGitOperation {
private void assumeValid(final IResource resource) throws CoreException {
final IProject proj = resource.getProject();
+ if (proj == null) {
+ return;
+ }
final GitProjectData pd = GitProjectData.get(proj);
- if (pd == null)
+ if (pd == null) {
return;
+ }
final RepositoryMapping rm = pd.getRepositoryMapping(resource);
- if (rm == null)
+ if (rm == null) {
return;
+ }
final Repository db = rm.getRepository();
DirCache cache = caches.get(db);
@@ -141,12 +146,14 @@ public class AssumeUnchangedOperation implements IEGitOperation {
final String path = rm.getRepoRelativePath(resource);
if (resource instanceof IContainer) {
- for (final DirCacheEntry ent : cache.getEntriesWithin(path))
+ for (final DirCacheEntry ent : cache.getEntriesWithin(path)) {
ent.setAssumeValid(assumeUnchanged);
+ }
} else {
final DirCacheEntry ent = cache.getEntry(path);
- if (ent != null)
+ if (ent != null) {
ent.setAssumeValid(assumeUnchanged);
+ }
}
}
}
diff --git a/org.eclipse.egit.core/src/org/eclipse/egit/core/op/CreatePatchOperation.java b/org.eclipse.egit.core/src/org/eclipse/egit/core/op/CreatePatchOperation.java
index b1cd1f55db..691a99a5b9 100644
--- a/org.eclipse.egit.core/src/org/eclipse/egit/core/op/CreatePatchOperation.java
+++ b/org.eclipse.egit.core/src/org/eclipse/egit/core/op/CreatePatchOperation.java
@@ -181,7 +181,7 @@ public class CreatePatchOperation implements IEGitOperation {
// for "workspace patches" add project header each time project changes
if (DiffHeaderFormat.WORKSPACE == headerFormat) {
IProject p = getProject(ent);
- if (!p.equals(project)) {
+ if (p != null && !p.equals(project)) {
project = p;
getOutputStream().write(
encodeASCII("#P " + project.getName() + "\n")); //$NON-NLS-1$ //$NON-NLS-2$
diff --git a/org.eclipse.egit.core/src/org/eclipse/egit/core/op/UntrackOperation.java b/org.eclipse.egit.core/src/org/eclipse/egit/core/op/UntrackOperation.java
index c18024bda7..566e7071eb 100644
--- a/org.eclipse.egit.core/src/org/eclipse/egit/core/op/UntrackOperation.java
+++ b/org.eclipse.egit.core/src/org/eclipse/egit/core/op/UntrackOperation.java
@@ -116,6 +116,9 @@ public class UntrackOperation implements IEGitOperation {
private void remove(final IResource path) throws CoreException {
final IProject proj = path.getProject();
+ if (proj == null) {
+ return;
+ }
final GitProjectData pd = GitProjectData.get(proj);
if (pd == null)
return;

Back to the top