summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorNikola Pajkovsky <npajkovs@redhat.com>2010-02-25 13:56:47 +0100
committerNikola Pajkovsky <npajkovs@redhat.com>2010-02-25 13:56:47 +0100
commitc9602ab867ca5b7b74283fdf3104bbf499a41e25 (patch)
treee3db24a1ffa1b536f1577c000eb90eb5f0c50841 /lib
parent97775d1bc7f6ecfcbf10d20ff0e61d9d35fd8e9f (diff)
downloadabrt-c9602ab867ca5b7b74283fdf3104bbf499a41e25.tar.gz
abrt-c9602ab867ca5b7b74283fdf3104bbf499a41e25.tar.xz
abrt-c9602ab867ca5b7b74283fdf3104bbf499a41e25.zip
bad logic in call function
Signed-off-by: Nikola Pajkovsky <npajkovs@redhat.com>
Diffstat (limited to 'lib')
-rw-r--r--lib/Plugins/Bugzilla.cpp16
1 files changed, 7 insertions, 9 deletions
diff --git a/lib/Plugins/Bugzilla.cpp b/lib/Plugins/Bugzilla.cpp
index 4f39724..6ec1f42 100644
--- a/lib/Plugins/Bugzilla.cpp
+++ b/lib/Plugins/Bugzilla.cpp
@@ -126,7 +126,8 @@ struct ctx: public abrt_xmlrpc_conn {
xmlrpc_value* ctx::call(const char* method, const char* format, ...)
{
va_list args;
- xmlrpc_value* param;
+ xmlrpc_value* param = NULL;
+ xmlrpc_value* result = NULL;
const char* suffix;
va_start(args, format);
@@ -141,20 +142,17 @@ xmlrpc_value* ctx::call(const char* method, const char* format, ...)
&env, XMLRPC_INTERNAL_ERROR, "Junk after the argument "
"specifier: '%s'. There must be exactly one arument.",
suffix);
- }
- if (env.fault_occurred)
- {
xmlrpc_DECREF(param);
return NULL;
}
+
+ xmlrpc_client_call2(&env, m_pClient, m_pServer_info, method, param, &result);
+ xmlrpc_DECREF(param);
+ if (env.fault_occurred)
+ return NULL;
}
- xmlrpc_value* result = NULL;
- xmlrpc_client_call2(&env, m_pClient, m_pServer_info, method, param, &result);
- xmlrpc_DECREF(param);
- if (env.fault_occurred)
- return NULL;
return result;
}