httpd-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From s.@apache.org
Subject svn commit: r1003809 - /httpd/httpd/trunk/server/config.c
Date Sat, 02 Oct 2010 15:04:09 GMT
Author: sf
Date: Sat Oct  2 15:04:08 2010
New Revision: 1003809

URL: http://svn.apache.org/viewvc?rev=1003809&view=rev
Log:
Use ptemp in some places to save some memory when parsing included config
files

Modified:
    httpd/httpd/trunk/server/config.c

Modified: httpd/httpd/trunk/server/config.c
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/server/config.c?rev=1003809&r1=1003808&r2=1003809&view=diff
==============================================================================
--- httpd/httpd/trunk/server/config.c (original)
+++ httpd/httpd/trunk/server/config.c Sat Oct  2 15:04:08 2010
@@ -1704,13 +1704,13 @@ static const char *process_resource_conf
     const char *error;
     apr_status_t rv;
 
-    if (ap_is_directory(p, fname)) {
+    if (ap_is_directory(ptemp, fname)) {
         apr_dir_t *dirp;
         apr_finfo_t dirent;
         int current;
         apr_array_header_t *candidates = NULL;
         fnames *fnew;
-        char *path = apr_pstrdup(p, fname);
+        char *path = apr_pstrdup(ptemp, fname);
 
         if (++depth > AP_MAX_INCLUDE_DIR_DEPTH) {
             return apr_psprintf(p, "Directory %s exceeds the maximum include "
@@ -1724,20 +1724,20 @@ static const char *process_resource_conf
          * entries here and store 'em away. Recall we need full pathnames
          * for this.
          */
-        rv = apr_dir_open(&dirp, path, p);
+        rv = apr_dir_open(&dirp, path, ptemp);
         if (rv != APR_SUCCESS) {
             char errmsg[120];
             return apr_psprintf(p, "Could not open config directory %s: %s",
                                 path, apr_strerror(rv, errmsg, sizeof errmsg));
         }
 
-        candidates = apr_array_make(p, 1, sizeof(fnames));
+        candidates = apr_array_make(ptemp, 1, sizeof(fnames));
         while (apr_dir_read(&dirent, APR_FINFO_DIRENT, dirp) == APR_SUCCESS) {
             /* strip out '.' and '..' */
             if (strcmp(dirent.name, ".")
                 && strcmp(dirent.name, "..")) {
                 fnew = (fnames *) apr_array_push(candidates);
-                fnew->fname = ap_make_full_path(p, path, dirent.name);
+                fnew->fname = ap_make_full_path(ptemp, path, dirent.name);
             }
         }
 
@@ -1889,10 +1889,10 @@ AP_DECLARE(const char *) ap_process_fnma
     /* don't require conf/httpd.conf if we have a -C or -c switch */
     if ((ap_server_pre_read_config->nelts
         || ap_server_post_read_config->nelts)
-        && !(strcmp(fname, ap_server_root_relative(p, SERVER_CONFIG_FILE)))) {
+        && !(strcmp(fname, ap_server_root_relative(ptemp, SERVER_CONFIG_FILE))))
{
         apr_finfo_t finfo;
 
-        if (apr_stat(&finfo, fname, APR_FINFO_LINK | APR_FINFO_TYPE, p) != APR_SUCCESS)
+        if (apr_stat(&finfo, fname, APR_FINFO_LINK | APR_FINFO_TYPE, ptemp) != APR_SUCCESS)
             return NULL;
     }
 



Mime
View raw message