After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 671661 - Incorrect parsing of <methodCall> without <params>
Incorrect parsing of <methodCall> without <params>
Status: RESOLVED FIXED
Product: libsoup
Classification: Core
Component: API
unspecified
Other All
: Normal normal
: ---
Assigned To: libsoup-maint@gnome.bugs
libsoup-maint@gnome.bugs
Depends on:
Blocks:
 
 
Reported: 2012-03-08 15:54 UTC by Franz
Modified: 2012-08-06 18:29 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Franz 2012-03-08 15:54:00 UTC
soup_xmlrpc_parse_method_call() incorrectly returns failure on parsing an XMLRPC <methodCall> of a function without <params>.

In file soup-xmlrpc.c:602
	if (!node || strcmp ((const char *)node->name, "params") != 0)
		goto fail;

The XMLRPC specification (http://xmlrpc.scripting.com/spec) states:
"*If* the procedure call has parameters, the <methodCall> must contain a <params> sub-item. The <params> sub-item can contain any number of <param>s, each of which has a <value>."

This indicates that the <params> tag is optional within a <methodCall>, *if* the procedure call has no parameters.

Suggestion: Return success but NULL params, if no <params> tag is present within a <methodCall>, return an empty GValueArray, if an empty <params> tag is present.
Comment 1 Dan Winship 2012-08-06 18:29:40 UTC
fixed in git and will be in 2.39.5. thanks for the bug report