REPOST: [PATCH] Patch to remove: PANIC: wap/cookies.c:349: add_cookie_to_cache: Assertion `sm -> cookies != NUL

Davy Chan <[email protected]>
Newsgroups gmane.comp.mobile.kannel.devel
Message-ID <[email protected]>
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: <[email protected]>
**>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/
sm-cookie-patch-jd-20040129.patch (text/plain, 776 B)
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.