Fix some problems reported by Coverity

This fixes some problems which were reported by Coverity. None of these
is critical and some are only theoretical issues which will never be
triggered. But better prepare the code for future changes and fix these
warnings properly instead of just silencing them.
This commit is contained in:
Martin Kleusberg
2020-02-25 22:08:51 +01:00
parent f74bf2a35c
commit 07351b36b0
6 changed files with 23 additions and 17 deletions
+5 -1
View File
@@ -6,7 +6,11 @@
#include <QMenu>
#include <QWhatsThis>
FilterLineEdit::FilterLineEdit(QWidget* parent, std::vector<FilterLineEdit*>* filters, size_t columnnum) : QLineEdit(parent), filterList(filters), columnNumber(columnnum)
FilterLineEdit::FilterLineEdit(QWidget* parent, std::vector<FilterLineEdit*>* filters, size_t columnnum) :
QLineEdit(parent),
filterList(filters),
columnNumber(columnnum),
no_conditional_format(true)
{
setPlaceholderText(tr("Filter"));
setClearButtonEnabled(true);
+1
View File
@@ -7,6 +7,7 @@
FindReplaceDialog::FindReplaceDialog(QWidget* parent)
: QDialog(parent),
ui(new Ui::FindReplaceDialog),
m_scintilla(nullptr),
foundIndicatorNumber(0),
findInProgress(false)
{
+1 -2
View File
@@ -328,8 +328,7 @@ void TableBrowser::init(DBBrowserDB* _db)
void TableBrowser::reset()
{
// Reset the model
if(m_model)
m_model->reset();
m_model->reset();
// Remove all stored table information browse data tab
m_settings.clear();
+4 -1
View File
@@ -437,7 +437,10 @@ private:
class IndexedColumn
{
public:
IndexedColumn() {}
IndexedColumn()
: m_isExpression(false)
{
}
IndexedColumn(const std::string& name, bool expr, const std::string& order = std::string())
: m_name(name),
+2 -4
View File
@@ -1050,12 +1050,11 @@ bool DBBrowserDB::executeMultiSQL(QByteArray query, bool dirty, bool log)
const char * const tail_start = tail;
const char * const tail_end = tail + query.size() + 1;
size_t total_tail_length = static_cast<size_t>(tail_end - tail_start);
int res = SQLITE_OK;
unsigned int line = 0;
bool structure_updated = false;
int last_progress_value = -1;
std::string savepoint_name;
while(tail && *tail != 0 && (res == SQLITE_OK || res == SQLITE_DONE))
while(tail && *tail != 0)
{
line++;
@@ -1122,8 +1121,7 @@ bool DBBrowserDB::executeMultiSQL(QByteArray query, bool dirty, bool log)
}
// Execute next statement
res = sqlite3_prepare_v2(_db, tail, static_cast<int>(tail_end - tail + 1), &vm, &tail);
if(res == SQLITE_OK)
if(sqlite3_prepare_v2(_db, tail, static_cast<int>(tail_end - tail + 1), &vm, &tail) == SQLITE_OK)
{
switch(sqlite3_step(vm))
{
+10 -9
View File
@@ -419,8 +419,8 @@ QVariant SqliteTableModel::data(const QModelIndex &index, int role) const
if(m_imagePreviewEnabled && !isImageData(data).isNull())
{
QImage img;
img.loadFromData(data);
return QPixmap::fromImage(img);
if(img.loadFromData(data))
return QPixmap::fromImage(img);
}
}
@@ -796,16 +796,17 @@ std::vector<std::string> SqliteTableModel::getColumns(std::shared_ptr<sqlite3> p
pDb = m_db.get(tr("retrieving list of columns"));
sqlite3_stmt* stmt;
int status = sqlite3_prepare_v2(pDb.get(), sQuery.c_str(), static_cast<int>(sQuery.size()), &stmt, nullptr);
std::vector<std::string> listColumns;
if(SQLITE_OK == status)
if(sqlite3_prepare_v2(pDb.get(), sQuery.c_str(), static_cast<int>(sQuery.size()), &stmt, nullptr) == SQLITE_OK)
{
sqlite3_step(stmt);
int columns = sqlite3_data_count(stmt);
for(int i = 0; i < columns; ++i)
if(sqlite3_step(stmt) == SQLITE_ROW)
{
listColumns.push_back(sqlite3_column_name(stmt, i));
fieldsTypes.push_back(sqlite3_column_type(stmt, i));
int columns = sqlite3_data_count(stmt);
for(int i = 0; i < columns; ++i)
{
listColumns.push_back(sqlite3_column_name(stmt, i));
fieldsTypes.push_back(sqlite3_column_type(stmt, i));
}
}
}
sqlite3_finalize(stmt);