Cleaning out my mailbox, I found this orphaned message that might have been overlooked (no followup and no voting). Was there a reason not to apply this 2 line safety check?
See ya... d.c. **>Date: Thu, 29 Jan 2004 12:15:30 +0100 **>From: "Jakob Dalsgaard" <[EMAIL PROTECTED]> **>To: <devel@kannel.org> **>Subject: Patch to remove: PANIC: wap/cookies.c:349: add_cookie_to_cache: **> Assertion `sm -> cookies != NUL **> **>To Kannel Development **> **>I've been experiencing a panic from the wapbox saying: **> **>2004-01-28 15:57:07 [1059] [7] DEBUG: Caching cookie (Set-Cookie: **>WEBTRENDS_ID=212.99.225.2-12986640.29615535;Path=/) **>2004-01-28 15:57:07 [1059] [7] DEBUG: get_header_value: Value **>(WEBTRENDS_ID=212.99.225.2-12986640.29615535;Path=/) **>2004-01-28 15:57:07 [1059] [7] ERROR: have_cookie: Null argument(s) - no **>Cookie list, Cookie or both **>2004-01-28 15:57:07 [1059] [7] PANIC: wap/cookies.c:349: **>add_cookie_to_cache: Assertion `sm -> cookies != NULL' failed. **>2004-01-28 15:57:07 [1059] [7] PANIC: **>/home/SEM/opt/kannel-cvs/sbin/wapbox [0x80c33b0] **>2004-01-28 15:57:07 [1059] [7] PANIC: **>/home/SEM/opt/kannel-cvs/sbin/wapbox [0x80776ea] **>2004-01-28 15:57:07 [1059] [7] PANIC: **>/home/SEM/opt/kannel-cvs/sbin/wapbox [0x8076e92] **>2004-01-28 15:57:07 [1059] [7] PANIC: **>/home/SEM/opt/kannel-cvs/sbin/wapbox [0x8051f0a] **>2004-01-28 15:57:07 [1059] [7] PANIC: **>/home/SEM/opt/kannel-cvs/sbin/wapbox [0x8052b26] **>2004-01-28 15:57:07 [1059] [7] PANIC: **>/home/SEM/opt/kannel-cvs/sbin/wapbox [0x80b8a55] **>2004-01-28 15:57:07 [1059] [7] PANIC: /lib/i686/libpthread.so.0 [0x400a6faf] **>2004-01-28 15:57:07 [1059] [7] PANIC: **>/home/SEM/opt/kannel-cvs/sbin/wapbox(__clone+0x3a) [0x420e790a] **> **>And since I'm about to find out where to put my header rewriting stuff, **>I thought I'd take a look at why I got this error first. **> **>It seems that, when connecting to my Tomcat Webapp, the wapbox tries to **>check if there is a cookie, before the WSPMachine->cookies list has been **>created, resulting in a fatal error when the cookie is being added. The **>section of code in wap-appl.c that starts all this is: **> **>#ifdef ENABLE_COOKIES **> if (session_id != -1) **> /* DAVI if (get_cookies(url, headers, **>find_session_machine_by_id(session_id)) == -1) */ **> if (get_cookies(headers, **>find_session_machine_by_id(session_id)) == -1) **> error(0, "WSP: Failed to extract cookies"); **>#endif **> **>So it would seem that if the session is created (session_id != -1) then **>the application assumes that the session machine has a properly **>initialized cookies list. This is however not always the case. Perhaps **>the proper place to correct this would be in the create_machine function **>-- but a quick fix is to check if the state machine has a cookies != **>NULL -- whether this is correct, I do not know. Furthermore the "sm" **>variable has previously been initialized to contain **>find_session_machine_by_id(session_id); and session_id has not been **>changed at this point; my version is thus: **> **>#ifdef ENABLE_COOKIES **> if (session_id != -1) **> /* DAVI if (get_cookies(url, headers, **>find_session_machine_by_id(session_id)) == -1) */ **> /* Verify that WSPMachine was found and has a cookies list */ **> if (sm != NULL && sm -> cookies != NULL && **>get_cookies(headers, sm) == -1) **> error(0, "WSP: Failed to extract cookies"); **>#endif **> **>A "cvs diff -u gw/wap-appl.c" is attached to this email. **> **>If someone else is having these problems - this patch might help them... **> **>/Jakob **> **>-- **>Med venlig hilsen/Best regards **> **>Jakob Dalsgaard **> **>================================= **> **>Cyber Com Group A/S **>Mail: [EMAIL PROTECTED] **>Web: http://www.cybercomgroup.com **>GSM: +45 2948 3803 **> **>########################################### **> **>This message has been scanned by F-Secure Anti-Virus for Microsoft Exchange. **>For more information, connect to http://www.F-Secure.com/
Index: gw/wap-appl.c =================================================================== RCS file: /home/cvs/gateway/gw/wap-appl.c,v retrieving revision 1.103 diff -u -r1.103 wap-appl.c --- gw/wap-appl.c 22 Jan 2004 14:08:24 -0000 1.103 +++ gw/wap-appl.c 29 Jan 2004 11:12:03 -0000 @@ -823,7 +823,8 @@ #ifdef ENABLE_COOKIES if (session_id != -1) /* DAVI if (get_cookies(url, headers, find_session_machine_by_id(session_id)) == -1) */ - if (get_cookies(headers, find_session_machine_by_id(session_id)) == -1) + /* Verify that WSPMachine was found and has a cookies list */ + if (sm != NULL && sm -> cookies != NULL && get_cookies(headers, sm) == -1) error(0, "WSP: Failed to extract cookies"); #endif