[PATCH] get 'shmht' to not dump core

2003-03-11 Thread MATHIHALLI,MADHUSUDAN (HP-Cupertino,ex1)
Hi,
  I was trying to debug the shmht caching, and got the following  SEGV. Thr
problem was also pointed out in
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=17864..

I've attached a patch, to fix the problem.
(With this patch, we'll be in sync with the ssl_util_table.c from mod_ssl
for 1.3.x.)

Thanks
-Madhu

Program received signal SIGSEGV, Segmentation fault.
0x6ff62334 in memcpy+0x144 () from /usr/lib/libc.2
(gdb) where
#0  0x6ff62334 in memcpy+0x144 () from /usr/lib/libc.2
#1  0xa6dfc in ssl_scache_shmht_store (s=0x4008fb80, 
id=0x4087f8e0
\310\fZ\3343^\246\320\352\372_\356\235}\302\266\013\r?wfn\261\\q\325\221\03
4\3534\372r, idlen=32, expiry=1047446337, sess=0x4087f898)
at ssl_scache_shmht.c:220
#2  0x9e528 in ssl_scache_store (s=0x4008fb80, 
id=0x4087f8e0
\310\fZ\3343^\246\320\352\372_\356\235}\302\266\013\r?wfn\261\\q\325\221\03
4\3534\372r, idlen=32, expiry=1047446337, sess=0x4087f898)
at ssl_scache.c:129
#3  0x9612c in ssl_callback_NewSessionCacheEntry (ssl=0x4086a1a8, 
session=0x4087f898) at ssl_engine_kernel.c:1657
#4  0x1441c8 in ssl_update_cache+0x108 ()
#5  0xa6dfc in ssl_scache_shmht_store (s=Error accessing memory address
0x4fdc: Bad address.
) at ssl_scache_shmht.c:220
Error accessing memory address 0x4fec: Bad address.
(gdb) quit




$ cvs diff ssl_util_table.c
Index: ssl_util_table.c
===
RCS file: /home/cvs/httpd-2.0/modules/ssl/ssl_util_table.c,v
retrieving revision 1.8
diff -u -r1.8 ssl_util_table.c
--- ssl_util_table.c3 Feb 2003 17:53:13 -   1.8
+++ ssl_util_table.c12 Mar 2003 05:47:48 -
@@ -989,9 +989,7 @@
  */
 int table_clear(table_t * table_p)
 {
-#if 0
 table_entry_t *entry_p, *next_p;
-#endif
 table_entry_t **bucket_p, **bounds_p;
 
 if (table_p == NULL)
@@ -1000,14 +998,12 @@
 return TABLE_ERROR_PNT;
 /* free the table allocation and table structure */
 bounds_p = table_p-ta_buckets + table_p-ta_bucket_n;
-for (bucket_p = table_p-ta_buckets; bucket_p = bounds_p; bucket_p++)
{
-#if 0
+for (bucket_p = table_p-ta_buckets; bucket_p  bounds_p; bucket_p++) {
 for (entry_p = *bucket_p; entry_p != NULL; entry_p = next_p) {
 /* record the next pointer before we free */
 next_p = entry_p-te_next_p;
 table_p-ta_free(table_p-opt_param, entry_p);
 }
-#endif
 /* clear the bucket entry after we free its entries */
 *bucket_p = NULL;
 }


Re: [PATCH] get 'shmht' to not dump core

2003-03-11 Thread Cliff Woolley
On Tue, 11 Mar 2003, MATHIHALLI,MADHUSUDAN (HP-Cupertino,ex1) wrote:

 I've attached a patch, to fix the problem.
 (With this patch, we'll be in sync with the ssl_util_table.c from mod_ssl
 for 1.3.x.)

++1... by all means commit to 2.1-dev asap.  :)