summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDenys Vlasenko <dvlasenk@redhat.com>2010-09-08 16:14:19 +0200
committerDenys Vlasenko <dvlasenk@redhat.com>2010-09-08 16:14:19 +0200
commit58f6ae0439a909a480c3fc7ba5efa504a3b1865b (patch)
tree60afbfaa6d0ba06a5c281f0104553b6124fc6b6f /src
parenta0b7850b3ac3a89e2bb02a214039c777d244ef22 (diff)
downloadabrt-58f6ae0439a909a480c3fc7ba5efa504a3b1865b.tar.gz
abrt-58f6ae0439a909a480c3fc7ba5efa504a3b1865b.tar.xz
abrt-58f6ae0439a909a480c3fc7ba5efa504a3b1865b.zip
add forgotten database disconnect on error path
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
Diffstat (limited to 'src')
-rw-r--r--src/daemon/MiddleWare.cpp11
1 files changed, 4 insertions, 7 deletions
diff --git a/src/daemon/MiddleWare.cpp b/src/daemon/MiddleWare.cpp
index 9f0f815b..777d110d 100644
--- a/src/daemon/MiddleWare.cpp
+++ b/src/daemon/MiddleWare.cpp
@@ -623,10 +623,9 @@ static bool is_debug_dump_saved(long uid, const char *debug_dump_dir)
database->DisConnect();
bool found = false;
- struct db_row *row = NULL;
for (GList *li = table; li != NULL; li = g_list_next(li))
{
- row = (struct db_row*)li->data;
+ struct db_row *row = (struct db_row*)li->data;
if (0 == strcmp(row->db_dump_dir, debug_dump_dir))
{
found = true;
@@ -1137,13 +1136,12 @@ mw_result_t FillCrashInfo(const char *crash_id,
{
CDatabase* database = g_pPluginManager->GetDatabase(g_settings_sDatabase.c_str());
database->Connect();
-
struct db_row *row = database->GetRow(crash_id);
+ database->DisConnect();
+
if (!row)
return MW_ERROR;
- database->DisConnect();
-
std::string package;
std::string executable;
std::string description;
@@ -1181,10 +1179,9 @@ void GetUUIDsOfCrash(long caller_uid, vector_string_t &result)
GList *rows = database->GetUIDData(caller_uid);
database->DisConnect();
- struct db_row *row = NULL;
for (GList *li = rows; li != NULL; li = g_list_next(li))
{
- row = (struct db_row*)li->data;
+ struct db_row *row = (struct db_row*)li->data;
string crash_id = ssprintf("%s:%s", row->db_uid, row->db_uuid);
result.push_back(crash_id);
}