summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/Plugins/Bugzilla.cpp25
1 files changed, 19 insertions, 6 deletions
diff --git a/lib/Plugins/Bugzilla.cpp b/lib/Plugins/Bugzilla.cpp
index 2fc2109a..055e65f2 100644
--- a/lib/Plugins/Bugzilla.cpp
+++ b/lib/Plugins/Bugzilla.cpp
@@ -125,6 +125,12 @@ bool ctx::check_cc_and_reporter(uint32_t bug_id, const char* login)
return true;
}
}
+ else
+ {
+ VERB3 log("Missing member 'reporter'");
+ xmlrpc_DECREF(result);
+ throw CABRTException(EXCEP_PLUGIN, _("Missing member 'bugs'"));
+ }
xmlrpc_value* cc_member = NULL;
xmlrpc_struct_find_value(&env, result, "cc", &cc_member);
@@ -171,6 +177,12 @@ bool ctx::check_cc_and_reporter(uint32_t bug_id, const char* login)
}
xmlrpc_DECREF(cc_member);
}
+ else
+ {
+ VERB3 log("Missing member 'bugs'");
+ xmlrpc_DECREF(result);
+ throw CABRTException(EXCEP_PLUGIN, _("Missing member 'cc'"));
+ }
xmlrpc_DECREF(result);
return false;
@@ -275,6 +287,8 @@ int32_t ctx::check_uuid_in_bugzilla(const char* component, const char* UUID)
else
{
VERB3 log("Missing member 'bug_id'");
+ xmlrpc_DECREF(result);
+ throw CABRTException(EXCEP_PLUGIN, _("Missing member 'bug_id'"));
}
xmlrpc_DECREF(item);
xmlrpc_DECREF(bugs_member);
@@ -282,6 +296,8 @@ int32_t ctx::check_uuid_in_bugzilla(const char* component, const char* UUID)
else
{
VERB3 log("Missing member 'bugs'");
+ xmlrpc_DECREF(result);
+ throw CABRTException(EXCEP_PLUGIN, _("Missing member 'bugs'"));
}
xmlrpc_DECREF(result);
@@ -474,12 +490,9 @@ std::string CReporterBugzilla::Report(const map_crash_data_t& pCrashData,
return BugzillaURL;
}
- if (bug_id == NEW_BUG)
- {
- update_client(_("Creating new bug..."));
- bug_id = bz_server.new_bug(pCrashData);
- bz_server.add_attachments(to_string(bug_id).c_str(), pCrashData);
- }
+ update_client(_("Creating new bug..."));
+ bug_id = bz_server.new_bug(pCrashData);
+ bz_server.add_attachments(to_string(bug_id).c_str(), pCrashData);
update_client(_("Logging out..."));
bz_server.logout();