From 7f10181be367d77e5f3203e938ab24cf722119df Mon Sep 17 00:00:00 2001 From: Nikola Pajkovsky Date: Thu, 29 Oct 2009 15:20:56 +0100 Subject: Normal user can see kerneloops and report it Bugzilla memory leaks fix --- lib/Plugins/SQLite3.cpp | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) (limited to 'lib/Plugins/SQLite3.cpp') diff --git a/lib/Plugins/SQLite3.cpp b/lib/Plugins/SQLite3.cpp index a2dc426..200a813 100644 --- a/lib/Plugins/SQLite3.cpp +++ b/lib/Plugins/SQLite3.cpp @@ -24,7 +24,8 @@ #include #include "SQLite3.h" #include "ABRTException.h" - +#include +#include #define ABRT_TABLE_VERSION 2 #define ABRT_TABLE_VERSION_STR "2" @@ -96,8 +97,10 @@ bool CSQLite3::Exist(const std::string& pUUID, const std::string& pUID) { vector_database_rows_t table; GetTable("SELECT "DATABASE_COLUMN_REPORTED" FROM "ABRT_TABLE" WHERE " - DATABASE_COLUMN_UUID" = '"+pUUID+"' AND " - DATABASE_COLUMN_UID" = '"+pUID+"';", table); + DATABASE_COLUMN_UUID" = '"+pUUID+"' " + "AND ("DATABASE_COLUMN_UID" = '"+pUID+"' " + "OR "DATABASE_COLUMN_UID" = '"+to_string(UINT_MAX)+"');" + , table); if (table.empty()) { return false; @@ -311,7 +314,8 @@ void CSQLite3::Delete(const std::string& pUUID, const std::string& pUID) { Exec("DELETE FROM "ABRT_TABLE" " "WHERE "DATABASE_COLUMN_UUID" = '"+pUUID+"' " - "AND "DATABASE_COLUMN_UID" = '"+pUID+"';"); + "AND "DATABASE_COLUMN_UID" = '"+pUID+"' " + "OR "DATABASE_COLUMN_UID" = '"+to_string(UINT_MAX)+"';"); } else { @@ -335,15 +339,17 @@ void CSQLite3::SetReported(const std::string& pUUID, const std::string& pUID, co Exec("UPDATE "ABRT_TABLE" " "SET "DATABASE_COLUMN_REPORTED" = 1 " "WHERE "DATABASE_COLUMN_UUID" = '"+pUUID+"' " - "AND "DATABASE_COLUMN_UID" = '"+pUID+"';"); + "AND ("DATABASE_COLUMN_UID" = '"+pUID+"' " + "OR "DATABASE_COLUMN_UID" = '"+to_string(UINT_MAX)+"');"); Exec("UPDATE "ABRT_TABLE" " "SET "DATABASE_COLUMN_MESSAGE" = '" + pMessage + "' " "WHERE "DATABASE_COLUMN_UUID" = '"+pUUID+"' " - "AND "DATABASE_COLUMN_UID" = '"+pUID+"';"); + "AND ("DATABASE_COLUMN_UID" = '"+pUID+"' " + "OR "DATABASE_COLUMN_UID" = '"+to_string(UINT_MAX)+"');"); } else { - throw CABRTException(EXCEP_PLUGIN, "CSQLite3::SetReported(): UUID is not found in DB."); + throw CABRTException(EXCEP_PLUGIN, "CSQLite3::SetReported(): UUID"+pUID+" is not found in DB."); } } @@ -357,7 +363,8 @@ vector_database_rows_t CSQLite3::GetUIDData(const std::string& pUID) else { GetTable("SELECT * FROM "ABRT_TABLE - " WHERE "DATABASE_COLUMN_UID" = '"+pUID+"';", + " WHERE "DATABASE_COLUMN_UID" = '"+pUID+"' " + "OR "DATABASE_COLUMN_UID" = '"+to_string(UINT_MAX)+"';", table); } return table; @@ -377,7 +384,8 @@ database_row_t CSQLite3::GetUUIDData(const std::string& pUUID, const std::string { GetTable("SELECT * FROM "ABRT_TABLE" " "WHERE "DATABASE_COLUMN_UUID" = '"+pUUID+"' " - "AND "DATABASE_COLUMN_UID" = '"+pUID+"';", + "AND ("DATABASE_COLUMN_UID" = '"+pUID+"' " + "OR "DATABASE_COLUMN_UID" = '"+to_string(UINT_MAX)+"');", table); } -- cgit From e8eefb19c47a7f4e7481d1f6460f8632e09bd76e Mon Sep 17 00:00:00 2001 From: Nikola Pajkovsky Date: Tue, 3 Nov 2009 12:15:55 +0100 Subject: kerneloop has uid = -1 new --- lib/Plugins/SQLite3.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'lib/Plugins/SQLite3.cpp') diff --git a/lib/Plugins/SQLite3.cpp b/lib/Plugins/SQLite3.cpp index 200a813..dc035d3 100644 --- a/lib/Plugins/SQLite3.cpp +++ b/lib/Plugins/SQLite3.cpp @@ -99,7 +99,7 @@ bool CSQLite3::Exist(const std::string& pUUID, const std::string& pUID) GetTable("SELECT "DATABASE_COLUMN_REPORTED" FROM "ABRT_TABLE" WHERE " DATABASE_COLUMN_UUID" = '"+pUUID+"' " "AND ("DATABASE_COLUMN_UID" = '"+pUID+"' " - "OR "DATABASE_COLUMN_UID" = '"+to_string(UINT_MAX)+"');" + "OR "DATABASE_COLUMN_UID" = '-1');" , table); if (table.empty()) { @@ -315,7 +315,7 @@ void CSQLite3::Delete(const std::string& pUUID, const std::string& pUID) Exec("DELETE FROM "ABRT_TABLE" " "WHERE "DATABASE_COLUMN_UUID" = '"+pUUID+"' " "AND "DATABASE_COLUMN_UID" = '"+pUID+"' " - "OR "DATABASE_COLUMN_UID" = '"+to_string(UINT_MAX)+"';"); + "OR "DATABASE_COLUMN_UID" = '-1';"); } else { @@ -340,12 +340,12 @@ void CSQLite3::SetReported(const std::string& pUUID, const std::string& pUID, co "SET "DATABASE_COLUMN_REPORTED" = 1 " "WHERE "DATABASE_COLUMN_UUID" = '"+pUUID+"' " "AND ("DATABASE_COLUMN_UID" = '"+pUID+"' " - "OR "DATABASE_COLUMN_UID" = '"+to_string(UINT_MAX)+"');"); + "OR "DATABASE_COLUMN_UID" = '-1');"); Exec("UPDATE "ABRT_TABLE" " "SET "DATABASE_COLUMN_MESSAGE" = '" + pMessage + "' " "WHERE "DATABASE_COLUMN_UUID" = '"+pUUID+"' " "AND ("DATABASE_COLUMN_UID" = '"+pUID+"' " - "OR "DATABASE_COLUMN_UID" = '"+to_string(UINT_MAX)+"');"); + "OR "DATABASE_COLUMN_UID" = '-1');"); } else { @@ -364,7 +364,7 @@ vector_database_rows_t CSQLite3::GetUIDData(const std::string& pUID) { GetTable("SELECT * FROM "ABRT_TABLE " WHERE "DATABASE_COLUMN_UID" = '"+pUID+"' " - "OR "DATABASE_COLUMN_UID" = '"+to_string(UINT_MAX)+"';", + "OR "DATABASE_COLUMN_UID" = '-1';", table); } return table; @@ -385,7 +385,7 @@ database_row_t CSQLite3::GetUUIDData(const std::string& pUUID, const std::string GetTable("SELECT * FROM "ABRT_TABLE" " "WHERE "DATABASE_COLUMN_UUID" = '"+pUUID+"' " "AND ("DATABASE_COLUMN_UID" = '"+pUID+"' " - "OR "DATABASE_COLUMN_UID" = '"+to_string(UINT_MAX)+"');", + "OR "DATABASE_COLUMN_UID" = '-1');", table); } -- cgit From af0053c1e3fe0cf938b7ad0ac26058a18e7e2c44 Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Fri, 6 Nov 2009 13:11:41 +0100 Subject: lib/Plugins/FileTransfer.cpp: another s/string&/char*/ text data bss dec hex filename 37324 2152 24 39500 9a4c libFileTransfer.so 33995 2112 24 36131 8d23 libFileTransfer.so Signed-off-by: Denys Vlasenko --- lib/Plugins/SQLite3.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lib/Plugins/SQLite3.cpp') diff --git a/lib/Plugins/SQLite3.cpp b/lib/Plugins/SQLite3.cpp index dc035d3..d55c0a9 100644 --- a/lib/Plugins/SQLite3.cpp +++ b/lib/Plugins/SQLite3.cpp @@ -325,7 +325,7 @@ void CSQLite3::Delete(const std::string& pUUID, const std::string& pUID) void CSQLite3::SetReported(const std::string& pUUID, const std::string& pUID, const std::string& pMessage) { - if(pUID == "0") + if (pUID == "0") { Exec("UPDATE "ABRT_TABLE" " "SET "DATABASE_COLUMN_REPORTED" = 1 " -- cgit From 57039b590e4411606795893c90f9871e0412ca31 Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Fri, 6 Nov 2009 18:26:42 +0100 Subject: give Plugin class a map_plugin_settings_t member This simplifies and unifies get/set settings ops Signed-off-by: Denys Vlasenko --- lib/Plugins/SQLite3.cpp | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'lib/Plugins/SQLite3.cpp') diff --git a/lib/Plugins/SQLite3.cpp b/lib/Plugins/SQLite3.cpp index d55c0a9..ab39d04 100644 --- a/lib/Plugins/SQLite3.cpp +++ b/lib/Plugins/SQLite3.cpp @@ -404,13 +404,11 @@ void CSQLite3::SetSettings(const map_plugin_settings_t& pSettings) } } -map_plugin_settings_t CSQLite3::GetSettings() +const map_plugin_settings_t& CSQLite3::GetSettings() { - map_plugin_settings_t ret; + m_pSettings["DBPath"] = m_sDBPath; - ret["DBPath"] = m_sDBPath; - - return ret; + return m_pSettings; } PLUGIN_INFO(DATABASE, -- cgit