From: Martín Ferrari Date: Sun, 27 Aug 2017 22:05:04 +0000 (+0200) Subject: Fix possibility for SQL injection attack. X-Git-Tag: 0.6.3~16^2~1 X-Git-Url: https://git.toastfreeware.priv.at/toast/confclerk.git/commitdiff_plain/50c848a982342bb24953a808247c69bcedc640c1 Fix possibility for SQL injection attack. --- diff --git a/src/mvc/track.cpp b/src/mvc/track.cpp index 1c563d6..139b199 100644 --- a/src/mvc/track.cpp +++ b/src/mvc/track.cpp @@ -40,10 +40,16 @@ int Track::insert() { QSqlQuery query; QString trackname = name(); - query.prepare("INSERT INTO " + sTableName + " (" + CONFERENCEID + "," + NAME + ")" + " VALUES " + "(\"" + QString::number(conferenceid()) + "\",\"" + trackname + "\")"); + query.prepare( + QString("INSERT INTO %1 (%2, %3) VALUES (:xid_conference, :name)") + .arg(sTableName, CONFERENCEID, NAME)); + query.bindValue(":xid_conference", conferenceid()); + query.bindValue(":name", trackname); if (!query.exec()) { - throw TrackInsertException("Inserting track '" + trackname + "' into database failed."); + throw TrackInsertException( + "Inserting track '" + trackname + "' into database failed: " + + query.lastError().text()); } QVariant variant = query.lastInsertId(); if (variant.isValid())