Skip to content

Commit 7b86b17

Browse files
committed
Fix a couple of memory leaks
1 parent 2a097a6 commit 7b86b17

3 files changed

Lines changed: 8 additions & 4 deletions

File tree

‎src/DbStructureModel.cpp‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -124,10 +124,10 @@ void DbStructureModel::reloadData()
124124
beginResetModel();
125125

126126
// Remove all data except for the root item
127-
while(rootItem->childCount())
127+
for(int i=rootItem->childCount();i;i--)
128128
{
129-
delete rootItem->child(0);
130-
rootItem->removeChild(rootItem->child(0));
129+
delete rootItem->child(i-1);
130+
rootItem->removeChild(rootItem->child(i-1));
131131
}
132132

133133
// Return here if no DB is opened

‎src/sqlitedb.cpp‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -624,6 +624,7 @@ bool DBBrowserDB::executeSQL(QString statement, bool dirtyDB, bool logsql)
624624
} else {
625625
lastErrorMessage = QString("%1 (%2)").arg(QString::fromUtf8(errmsg)).arg(statement);
626626
qWarning() << "executeSQL: " << statement << "->" << errmsg;
627+
sqlite3_free(errmsg);
627628
return false;
628629
}
629630
}

‎src/sqlitetypes.cpp‎

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -569,9 +569,12 @@ Table CreateTableWalker::table()
569569
} while(tc != antlr::nullAST && tc->getType() != sqlite3TokenTypes::RPAREN);
570570

571571
if(fields.size() == 1 && constraint_name.isEmpty())
572+
{
572573
fields[0]->setUnique(true);
573-
else
574+
delete unique;
575+
} else {
574576
tab.addConstraint(fields, ConstraintPtr(unique));
577+
}
575578
}
576579
break;
577580
case sqlite3TokenTypes::FOREIGN:

0 commit comments

Comments
 (0)