From cd81aa200a31e486e61fe701e4a782ed929e90c2 Mon Sep 17 00:00:00 2001 From: Dimitri van Heesch Date: Mon, 17 Jun 2019 21:09:11 +0200 Subject: Avoid calling non-const member aliases and 0 pointer dereference in sqlite3 --- src/doxygen.cpp | 6 +++--- src/sqlite3gen.cpp | 6 +++++- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/doxygen.cpp b/src/doxygen.cpp index 84a4900..c7fce01 100644 --- a/src/doxygen.cpp +++ b/src/doxygen.cpp @@ -5551,7 +5551,7 @@ static bool findGlobalMember(Entry *root, NamespaceDef *rnd = 0; if (!namespaceName.isEmpty()) rnd = Doxygen::namespaceSDict->find(namespaceName); - ArgumentList *mdAl = md->argumentList(); + const ArgumentList *mdAl = const_cast(md)->argumentList(); bool matching= (mdAl==0 && root->argList->count()==0) || md->isVariable() || md->isTypedef() || /* in case of function pointers */ @@ -6721,10 +6721,10 @@ static void findMember(Entry *root, if (rmn) { MemberNameIterator rmni(*rmn); - MemberDef *rmd; + const MemberDef *rmd; while ((rmd=rmni.current()) && !found) // see if we got another member with matching arguments { - ArgumentList *rmdAl = rmd->argumentList(); + const ArgumentList *rmdAl = rmd->argumentList(); // check for matching argument lists if ( matchArguments2(rmd->getOuterScope(),rmd->getFileDef(),rmdAl, diff --git a/src/sqlite3gen.cpp b/src/sqlite3gen.cpp index 9805d7f..5a8e81d 100644 --- a/src/sqlite3gen.cpp +++ b/src/sqlite3gen.cpp @@ -2009,7 +2009,11 @@ static void generateSqlite3ForClass(const ClassDef *cd) if (nm.isEmpty() && ii->fileDef) nm = ii->fileDef->docName(); if (!nm.isEmpty()) { - int header_id=insertPath(ii->fileDef->absFilePath(),!ii->fileDef->isReference()); + int header_id=-1; + if (ii->fileDef) + { + insertPath(ii->fileDef->absFilePath(),!ii->fileDef->isReference()); + } DBG_CTX(("-----> ClassDef includeInfo for %s\n", nm.data())); DBG_CTX((" local : %d\n", ii->local)); DBG_CTX((" imported : %d\n", ii->imported)); -- cgit v0.12