diff options
-rw-r--r-- | src/corelib/plugin/qelfparser_p.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/corelib/plugin/qelfparser_p.cpp b/src/corelib/plugin/qelfparser_p.cpp index af2fc44d00..e4215dc39b 100644 --- a/src/corelib/plugin/qelfparser_p.cpp +++ b/src/corelib/plugin/qelfparser_p.cpp @@ -218,7 +218,7 @@ int QElfParser::parse(const char *dataStart, ulong fdlen, const QString &library continue; } - if (sh.offset == 0 || (sh.offset + sh.size) > fdlen) { + if (sh.offset == 0 || (sh.offset + sh.size) > fdlen || sh.size < 1) { if (lib) lib->errorString = QLibrary::tr("'%1' is an invalid ELF object (%2)").arg(library) .arg(QLatin1String("missing section data. This is not a library.")); |