Skip to content

Commit 20e73a9

Browse files
committed
Merge pull request #704 from mjbvz/RootProject-Homepages-null-deref-fix
Check for null before dereference on RootPackage.HomePages
2 parents d373542 + 1f5aad2 commit 20e73a9

1 file changed

Lines changed: 12 additions & 8 deletions

File tree

Nodejs/Product/Nodejs/Project/DependencyNode.cs

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -167,11 +167,13 @@ internal override int QueryStatusOnNode(Guid cmdGroup, uint cmd, IntPtr pCmdText
167167
if (cmdGroup == Guids.NodejsNpmCmdSet) {
168168
switch (cmd) {
169169
case PkgCmdId.cmdidNpmOpenModuleHomepage:
170-
using (var enumerator = this.Package.Homepages.GetEnumerator()) {
171-
if (enumerator.MoveNext() && !string.IsNullOrEmpty(enumerator.Current)) {
172-
result = QueryStatusResult.ENABLED | QueryStatusResult.SUPPORTED;
173-
} else {
174-
result = QueryStatusResult.SUPPORTED;
170+
if (this.Package.Homepages != null) {
171+
using (var enumerator = this.Package.Homepages.GetEnumerator()) {
172+
if (enumerator.MoveNext() && !string.IsNullOrEmpty(enumerator.Current)) {
173+
result = QueryStatusResult.ENABLED | QueryStatusResult.SUPPORTED;
174+
} else {
175+
result = QueryStatusResult.SUPPORTED;
176+
}
175177
}
176178
}
177179
return VSConstants.S_OK;
@@ -225,9 +227,11 @@ internal override int ExecCommandOnNode(Guid cmdGroup, uint cmd, uint nCmdexecop
225227
if (cmdGroup == Guids.NodejsNpmCmdSet) {
226228
switch (cmd) {
227229
case PkgCmdId.cmdidNpmOpenModuleHomepage:
228-
using (var enumerator = this.Package.Homepages.GetEnumerator()) {
229-
if (enumerator.MoveNext() && !string.IsNullOrEmpty(enumerator.Current)) {
230-
Process.Start(enumerator.Current);
230+
if (this.Package.Homepages != null) {
231+
using (var enumerator = this.Package.Homepages.GetEnumerator()) {
232+
if (enumerator.MoveNext() && !string.IsNullOrEmpty(enumerator.Current)) {
233+
Process.Start(enumerator.Current);
234+
}
231235
}
232236
}
233237
return VSConstants.S_OK;

0 commit comments

Comments
 (0)