Fix segfault parsing varargs with -doxygen
Closes #1643
diff --git a/CHANGES.current b/CHANGES.current
index 84697f6..d6e9af6 100644
--- a/CHANGES.current
+++ b/CHANGES.current
@@ -8,6 +8,10 @@
===========================
2020-01-16: mcfarljm
+ #1643 #1654 When using -doxygen, fix segfault when nameless parameters or vararg parameters
+ are used.
+
+2020-01-16: mcfarljm
#1632 #1659 Fix newline handling for doxygen "///" comments.
2020-01-14: mcfarljm
diff --git a/Source/Doxygen/pydoc.cxx b/Source/Doxygen/pydoc.cxx
index 9f00d55..c84095b 100644
--- a/Source/Doxygen/pydoc.cxx
+++ b/Source/Doxygen/pydoc.cxx
@@ -449,12 +449,12 @@
ParmList *plist = CopyParmList(Getattr(currentNode, "parms"));
for (Parm *p = plist; p; p = nextSibling(p)) {
String *pname = Getattr(p, "name");
- if (Char(pname) != param)
- continue;
-
- String *pval = Getattr(p, "value");
- if (pval) value = Char(pval);
- break;
+ if (pname && Char(pname) == param) {
+ String *pval = Getattr(p, "value");
+ if (pval)
+ value = Char(pval);
+ break;
+ }
}
Delete(plist);
return value;