Bug 26271

Summary: Crashes if you send it disco requests with no id=''
Product: Telepathy Reporter: Will Thompson <will>
Component: gabbleAssignee: Telepathy bugs list <telepathy-bugs>
Status: RESOLVED FIXED QA Contact: Telepathy bugs list <telepathy-bugs>
Severity: normal    
Priority: medium CC: will
Version: unspecifiedKeywords: patch
Hardware: Other   
OS: All   
URL: http://git.collabora.co.uk/?p=user/wjt/telepathy-gabble-wjt.git;a=commitdiff;h=refs/heads/crash-on-disco-without-id
Whiteboard:
i915 platform: i915 features:

Description Will Thompson 2010-01-27 06:58:53 UTC
It's illegal to send <iq/> stanzas without an id='' (per the first rule of IQ Semantics in XMPP Core <http://xmpp.org/rfcs/rfc3920.html#stanzas-semantics-iq>), but neither ejabberd nor Loudmouth filters them out before they reach Gabble. If passed an IQ with no id='', lm_iq_message_make_result() returns NULL; connection_iq_disco_cb() assumed that it returned a valid message, and hence crashes.

Patch to follow...
Comment 1 Will Thompson 2010-01-27 07:01:28 UTC
The patch at http://git.collabora.co.uk/?p=user/wjt/telepathy-gabble-wjt.git;a=commitdiff;h=refs/heads/crash-on-disco-without-id is against 0.8, but applies cleanly to 0.9. While Wocky shouldn't let such IQs through — I'm off to file a bug — I think it's worth applying the patch to 0.9 too.
Comment 2 Will Thompson 2010-01-27 07:07:03 UTC
Merged to 0.8 and master (as a55f9ed and d4ef47a respectively), will be in 0.8.10 and 0.9.4.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.