]> granicus.if.org Git - apache/commitdiff
By using _setn instead of _set, this call is setting a pointer to a stack variable
authorBradley Nicholes <bnicholes@apache.org>
Thu, 2 May 2002 22:03:58 +0000 (22:03 +0000)
committerBradley Nicholes <bnicholes@apache.org>
Thu, 2 May 2002 22:03:58 +0000 (22:03 +0000)
in the hash entry.  Once initialize_module() returns, the key pointer in the
hash entry is invalid.  This causes a fault the next time that the hash entry
key is checked.  Calling the _set() version will store a copy of the key which
has the same lifetime as the hash table entry.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94914 13f79535-47bb-0310-9956-ffa450edef68

modules/aaa/mod_auth_digest.c

index 2159d5a3b4ebf0760314dc6801562fdfad6e3ead..a82b119566f19a4b43651eee44d2614d1909474f 100644 (file)
@@ -384,7 +384,7 @@ static int initialize_module(apr_pool_t *p, apr_pool_t *plog,
      * set up our static data on the second call. */
     apr_pool_userdata_get(&data, userdata_key, s->process->pool);
     if (!data) {
-        apr_pool_userdata_setn((const void *)1, userdata_key,
+        apr_pool_userdata_set((const void *)1, userdata_key,
                                apr_pool_cleanup_null, s->process->pool);
         return OK;
     }