Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/monodevelop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoriain holmes <iain@xamarin.com>2015-06-22 15:17:34 +0300
committeriain holmes <iain@xamarin.com>2015-06-22 17:38:54 +0300
commit44ba808f3f228e419e0bd79cc5aa10d3f598dbbc (patch)
tree6b99aaa4112a9520a8464ef6e522419fe053dfcb /main/src/addins/MonoDevelop.AssemblyBrowser
parent1dba6c675241ce1326388028c8615ced5f0fe00b (diff)
[Assemby Browser] Fix some potential Null dereferences
Some fixes for potential null dereferences discovered by Coverity.
Diffstat (limited to 'main/src/addins/MonoDevelop.AssemblyBrowser')
-rw-r--r--main/src/addins/MonoDevelop.AssemblyBrowser/MonoDevelop.AssemblyBrowser/AssemblyBrowserWidget.cs7
-rw-r--r--main/src/addins/MonoDevelop.AssemblyBrowser/MonoDevelop.AssemblyBrowser/TreeNodes/DomEventNodeBuilder.cs4
-rw-r--r--main/src/addins/MonoDevelop.AssemblyBrowser/MonoDevelop.AssemblyBrowser/TreeNodes/DomFieldNodeBuilder.cs6
-rw-r--r--main/src/addins/MonoDevelop.AssemblyBrowser/MonoDevelop.AssemblyBrowser/TreeNodes/DomPropertyNodeBuilder.cs4
4 files changed, 20 insertions, 1 deletions
diff --git a/main/src/addins/MonoDevelop.AssemblyBrowser/MonoDevelop.AssemblyBrowser/AssemblyBrowserWidget.cs b/main/src/addins/MonoDevelop.AssemblyBrowser/MonoDevelop.AssemblyBrowser/AssemblyBrowserWidget.cs
index 83f6e6d38f..8837388616 100644
--- a/main/src/addins/MonoDevelop.AssemblyBrowser/MonoDevelop.AssemblyBrowser/AssemblyBrowserWidget.cs
+++ b/main/src/addins/MonoDevelop.AssemblyBrowser/MonoDevelop.AssemblyBrowser/AssemblyBrowserWidget.cs
@@ -1301,6 +1301,9 @@ namespace MonoDevelop.AssemblyBrowser
return;
ITreeNavigator nav = TreeView.GetRootNode ();
+ if (nav == null)
+ return;
+
do {
if (nav.DataItem == cu) {
nav.ExpandToNode ();
@@ -1485,7 +1488,9 @@ namespace MonoDevelop.AssemblyBrowser
// Select the project.
if (selectReference) {
ITreeNavigator navigator = TreeView.GetNodeAtObject (project);
- navigator.Selected = true;
+
+ if (navigator != null)
+ navigator.Selected = true;
}
return;
diff --git a/main/src/addins/MonoDevelop.AssemblyBrowser/MonoDevelop.AssemblyBrowser/TreeNodes/DomEventNodeBuilder.cs b/main/src/addins/MonoDevelop.AssemblyBrowser/MonoDevelop.AssemblyBrowser/TreeNodes/DomEventNodeBuilder.cs
index d04c119022..e84b5022c2 100644
--- a/main/src/addins/MonoDevelop.AssemblyBrowser/MonoDevelop.AssemblyBrowser/TreeNodes/DomEventNodeBuilder.cs
+++ b/main/src/addins/MonoDevelop.AssemblyBrowser/MonoDevelop.AssemblyBrowser/TreeNodes/DomEventNodeBuilder.cs
@@ -103,6 +103,8 @@ namespace MonoDevelop.AssemblyBrowser
if (DomMethodNodeBuilder.HandleSourceCodeEntity (navigator, data))
return null;
var evt = CecilLoader.GetCecilObject ((IUnresolvedEvent)navigator.DataItem);
+ if (evt == null)
+ return null;
return DomMethodNodeBuilder.Decompile (data, DomMethodNodeBuilder.GetModule (navigator), evt.DeclaringType, b => b.AddEvent (evt));
}
@@ -111,6 +113,8 @@ namespace MonoDevelop.AssemblyBrowser
if (DomMethodNodeBuilder.HandleSourceCodeEntity (navigator, data))
return null;
var evt = CecilLoader.GetCecilObject ((IUnresolvedEvent)navigator.DataItem);
+ if (evt == null)
+ return null;
return DomMethodNodeBuilder.GetSummary (data, DomMethodNodeBuilder.GetModule (navigator), evt.DeclaringType, b => b.AddEvent (evt));
}
diff --git a/main/src/addins/MonoDevelop.AssemblyBrowser/MonoDevelop.AssemblyBrowser/TreeNodes/DomFieldNodeBuilder.cs b/main/src/addins/MonoDevelop.AssemblyBrowser/MonoDevelop.AssemblyBrowser/TreeNodes/DomFieldNodeBuilder.cs
index f56ad572f6..136f27b442 100644
--- a/main/src/addins/MonoDevelop.AssemblyBrowser/MonoDevelop.AssemblyBrowser/TreeNodes/DomFieldNodeBuilder.cs
+++ b/main/src/addins/MonoDevelop.AssemblyBrowser/MonoDevelop.AssemblyBrowser/TreeNodes/DomFieldNodeBuilder.cs
@@ -82,6 +82,8 @@ namespace MonoDevelop.AssemblyBrowser
if (DomMethodNodeBuilder.HandleSourceCodeEntity (navigator, data))
return null;
var field = CecilLoader.GetCecilObject ((IUnresolvedField)navigator.DataItem);
+ if (field == null)
+ return null;
return DomMethodNodeBuilder.Disassemble (data, rd => rd.DisassembleField (field));
}
@@ -90,6 +92,8 @@ namespace MonoDevelop.AssemblyBrowser
if (DomMethodNodeBuilder.HandleSourceCodeEntity (navigator, data))
return null;
var field = CecilLoader.GetCecilObject ((IUnresolvedField)navigator.DataItem);
+ if (field == null)
+ return null;
return DomMethodNodeBuilder.Decompile (data, DomMethodNodeBuilder.GetModule (navigator), field.DeclaringType, b => b.AddField (field));
}
@@ -98,6 +102,8 @@ namespace MonoDevelop.AssemblyBrowser
if (DomMethodNodeBuilder.HandleSourceCodeEntity (navigator, data))
return null;
var field = CecilLoader.GetCecilObject ((IUnresolvedField)navigator.DataItem);
+ if (field == null)
+ return null;
return DomMethodNodeBuilder.GetSummary (data, DomMethodNodeBuilder.GetModule (navigator), field.DeclaringType, b => b.AddField (field));
}
diff --git a/main/src/addins/MonoDevelop.AssemblyBrowser/MonoDevelop.AssemblyBrowser/TreeNodes/DomPropertyNodeBuilder.cs b/main/src/addins/MonoDevelop.AssemblyBrowser/MonoDevelop.AssemblyBrowser/TreeNodes/DomPropertyNodeBuilder.cs
index 465b41300b..1ef796d40c 100644
--- a/main/src/addins/MonoDevelop.AssemblyBrowser/MonoDevelop.AssemblyBrowser/TreeNodes/DomPropertyNodeBuilder.cs
+++ b/main/src/addins/MonoDevelop.AssemblyBrowser/MonoDevelop.AssemblyBrowser/TreeNodes/DomPropertyNodeBuilder.cs
@@ -112,6 +112,8 @@ namespace MonoDevelop.AssemblyBrowser
if (DomMethodNodeBuilder.HandleSourceCodeEntity (navigator, data))
return null;
var property = CecilLoader.GetCecilObject ((IUnresolvedProperty)navigator.DataItem);
+ if (property == null)
+ return null;
return DomMethodNodeBuilder.Decompile (data, DomMethodNodeBuilder.GetModule (navigator), property.DeclaringType, b => b.AddProperty (property));
}
@@ -120,6 +122,8 @@ namespace MonoDevelop.AssemblyBrowser
if (DomMethodNodeBuilder.HandleSourceCodeEntity (navigator, data))
return null;
var property = CecilLoader.GetCecilObject ((IUnresolvedProperty)navigator.DataItem);
+ if (property == null)
+ return null;
return DomMethodNodeBuilder.GetSummary (data, DomMethodNodeBuilder.GetModule (navigator), property.DeclaringType, b => b.AddProperty (property));
}