diff --git a/src/plugins/bineditor/bineditor.cpp b/src/plugins/bineditor/bineditor.cpp index 6ccd1a013b8b16812745e05ed66cd089b444d905..488fd8e5d96a79b65612117c73429fa5f2c25e79 100644 --- a/src/plugins/bineditor/bineditor.cpp +++ b/src/plugins/bineditor/bineditor.cpp @@ -1051,7 +1051,8 @@ bool BinEditor::event(QEvent *e) return true; case Qt::Key_Down: { const QScrollBar * const scrollBar = verticalScrollBar(); - if (scrollBar->value() >= scrollBar->maximum() - 1) { + const int maximum = scrollBar->maximum(); + if (maximum && scrollBar->value() >= maximum - 1) { emit newRangeRequested(editor(), baseAddress() + m_size); return true; } diff --git a/src/plugins/bineditor/bineditorplugin.cpp b/src/plugins/bineditor/bineditorplugin.cpp index 9a14b2da299058235467f1010276bc531e33f2d3..ce28543c22130b9256dfb6a17243092307e42a98 100644 --- a/src/plugins/bineditor/bineditorplugin.cpp +++ b/src/plugins/bineditor/bineditorplugin.cpp @@ -222,7 +222,8 @@ public: bool open(QString *errorString, const QString &fileName, quint64 offset = 0) { QFile file(fileName); - if (offset >= static_cast(file.size())) { + quint64 size = static_cast(file.size()); + if (size == 0) { QString msg = tr("The Binary Editor can not open empty files."); if (errorString) *errorString = msg; @@ -230,6 +231,8 @@ public: QMessageBox::critical(Core::ICore::mainWindow(), tr("File Error"), msg); return false; } + if (offset >= size) + return false; if (file.open(QIODevice::ReadOnly)) { file.close(); m_fileName = fileName;