httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Joe Orton <jor...@redhat.com>
Subject Re: cvs commit: httpd-2.0/modules/ssl ssl_scache_shmcb.c ssl_util_table.c
Date Fri, 15 Mar 2002 09:13:35 GMT
On Fri, Mar 15, 2002 at 01:46:47AM -0000, dougm@apache.org wrote:
>    /* This is necessary simply so that the size passed to memset() is not a
>     * compile-time constant, preventing the compiler from optimising it. */
>   +#if 0
>   +/* XXX: this isn't used, is it needed? */
>    static void shmcb_safe_clear(void *ptr, size_t size)
>    {
>    	memset(ptr, 0, size);
>    }
>   +#endif

It was needed in mod_ssl 2.8 as in the below patch, since 'idx' wasn't
guaranteed to be word-aligned, and some compilers would optimise the
memset into instructions which operated on words. If you can guarantee
that idx is word-aligned in 2.0 with the new rmm stuff, it probably
isn't needed.

Index: ssl_scache_shmcb.c
===================================================================
RCS file: /home/cvspublic/httpd-2.0/modules/ssl/ssl_scache_shmcb.c,v
retrieving revision 1.7
diff -u -r1.7 ssl_scache_shmcb.c
--- ssl_scache_shmcb.c	15 Mar 2002 01:46:47 -0000	1.7
+++ ssl_scache_shmcb.c	15 Mar 2002 08:49:02 -0000
@@ -269,13 +269,10 @@
 
 /* This is necessary simply so that the size passed to memset() is not a
  * compile-time constant, preventing the compiler from optimising it. */
-#if 0
-/* XXX: this isn't used, is it needed? */
 static void shmcb_safe_clear(void *ptr, size_t size)
 {
 	memset(ptr, 0, size);
 }
-#endif
 
 /* Underlying functions for session-caching */
 static BOOL shmcb_init_memory(server_rec *, void *, unsigned int);
@@ -1178,7 +1175,7 @@
                 "internal error");
         return FALSE;
     }
-    memset(idx, 0, sizeof(SHMCBIndex));
+    shmcb_safe_clear(idx, sizeof(SHMCBIndex));
     shmcb_set_safe_time(&(idx->expires), expiry_time);
     shmcb_set_safe_uint(&(idx->offset), new_offset);
 

Mime
View raw message