diff options
author | iain holmes <iain@xamarin.com> | 2015-06-22 15:17:34 +0300 |
---|---|---|
committer | iain holmes <iain@xamarin.com> | 2015-06-22 17:38:54 +0300 |
commit | 44ba808f3f228e419e0bd79cc5aa10d3f598dbbc (patch) | |
tree | 6b99aaa4112a9520a8464ef6e522419fe053dfcb /main/src/addins/MonoDevelop.AssemblyBrowser | |
parent | 1dba6c675241ce1326388028c8615ced5f0fe00b (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')
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)); } |