doxygen/doxygen-1.8.15-crash.patch

53 lines
1.5 KiB
Diff

commit c26c5fc4fb852098c7188e7762778c87a50771cb
Author: albert-github <albert.tests@gmail.com>
Date: Mon Jan 7 18:48:13 2019 +0100
issue #6749 doxygen 1.8.15 segfault
An empty string was defined in a `<a href="">` resulting in a null pointer access.
diff --git a/src/util.cpp b/src/util.cpp
index f9c2492f..9a0e513b 100644
--- a/src/util.cpp
+++ b/src/util.cpp
@@ -5444,6 +5444,7 @@ QCString escapeCharsInString(const char *name,bool allowDots,bool allowUnderscor
static bool allowUnicodeNames = Config_getBool(ALLOW_UNICODE_NAMES);
static GrowBuf growBuf;
growBuf.clear();
+ if (name==0) return "";
char c;
const char *p=name;
while ((c=*p++)!=0)
@@ -6962,6 +6963,7 @@ void filterLatexString(FTextStream &t,const char *str,
QCString latexEscapeLabelName(const char *s)
{
+ if (s==0) return "";
QGString result;
QCString tmp(qstrlen(s)+1);
FTextStream t(&result);
@@ -6999,6 +7001,7 @@ QCString latexEscapeLabelName(const char *s)
QCString latexEscapeIndexChars(const char *s)
{
+ if (s==0) return "";
QGString result;
QCString tmp(qstrlen(s)+1);
FTextStream t(&result);
@@ -7037,6 +7040,7 @@ QCString latexEscapeIndexChars(const char *s)
QCString latexEscapePDFString(const char *s)
{
+ if (s==0) return "";
QGString result;
FTextStream t(&result);
const char *p=s;
@@ -7061,6 +7065,7 @@ QCString latexEscapePDFString(const char *s)
QCString latexFilterURL(const char *s)
{
+ if (s==0) return "";
QGString result;
FTextStream t(&result);
const char *p=s;