~aleteoryx/muditaos

fca0452802fb12fcb8df2e51f4cfc7cbc668a16c — Wiktor S. Ovalle Correa 4 years ago 30ae0e0
[EGD-6947] Fix SQL vulnerabilities

These were potential security holes allowing SQL injections.
2 files changed, 4 insertions(+), 4 deletions(-)

M module-db/Tables/ContactsNameTable.cpp
M module-db/Tables/NotesTable.cpp
M module-db/Tables/ContactsNameTable.cpp => module-db/Tables/ContactsNameTable.cpp +3 -3
@@ 184,8 184,8 @@ std::size_t ContactsNameTable::GetCountByName(const std::string &name)

    if (!namePart1.empty() && !namePart2.empty()) {
        queryRet = db->query(
            "SELECT COUNT(*) FROM contact_name WHERE (name_primary like '%s%%' AND name_alternative like '%s%%') OR "
            "(name_primary like '%s%%' AND name_alternative like '%s%%');",
            "SELECT COUNT(*) FROM contact_name WHERE (name_primary like '%q%%' AND name_alternative like '%q%%') OR "
            "(name_primary like '%q%%' AND name_alternative like '%q%%');",
            namePart1.c_str(),
            namePart2.c_str(),
            namePart2.c_str(),


@@ 193,7 193,7 @@ std::size_t ContactsNameTable::GetCountByName(const std::string &name)
    }
    else {
        queryRet = db->query(
            "SELECT COUNT(*) FROM contact_name WHERE name_primary like '%s%%' OR name_alternative like '%s%%';",
            "SELECT COUNT(*) FROM contact_name WHERE name_primary like '%q%%' OR name_alternative like '%q%%';",
            namePart1.c_str(),
            namePart1.c_str());
    }

M module-db/Tables/NotesTable.cpp => module-db/Tables/NotesTable.cpp +1 -1
@@ 125,7 125,7 @@ std::pair<std::vector<NotesTableRow>, int> NotesTable::getByText(const std::stri
{

    unsigned int count = 0;
    auto queryRet      = db->query("SELECT COUNT(*), INSTR(snippet,'%s') pos FROM notes WHERE pos > 0;", text.c_str());
    auto queryRet      = db->query("SELECT COUNT(*), INSTR(snippet,'%q') pos FROM notes WHERE pos > 0;", text.c_str());
    if (queryRet && queryRet->getRowCount() != 0) {
        count = (*queryRet)[0].getUInt32();
    }