You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by rb...@hyperreal.org on 2000/01/04 20:01:14 UTC
cvs commit: apache-2.0/src/modules/standard mod_asis.c mod_autoindex.c mod_cgi.c mod_cgid.c mod_include.c mod_mime_magic.c mod_negotiation.c mod_rewrite.c
rbb 00/01/04 11:01:13
Modified: src/lib/apr/file_io/unix filestat.c open.c
src/lib/apr/include apr_file_io.h
src/lib/apr/test abc.c testfile.c testmmap.c testproc.c
src/main buff.c http_config.c http_log.c util.c
src/modules/experimental mod_mmap_static.c
src/modules/mpm/prefork prefork.c
src/modules/standard mod_asis.c mod_autoindex.c mod_cgi.c
mod_cgid.c mod_include.c mod_mime_magic.c
mod_negotiation.c mod_rewrite.c
Log:
Initialize all ap_file_t's to NULL. This allows ap_open and ap_stat to
work together without causing memory leaks.
Revision Changes Path
1.5 +1 -1 apache-2.0/src/lib/apr/file_io/unix/filestat.c
Index: filestat.c
===================================================================
RCS file: /home/cvs/apache-2.0/src/lib/apr/file_io/unix/filestat.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- filestat.c 2000/01/03 20:57:20 1.4
+++ filestat.c 2000/01/04 19:00:42 1.5
@@ -92,7 +92,7 @@
* arg 2) The name of the file to stat.
* arg 3) the context to use to allocate the new file.
*/
-ap_status_t ap_stat(struct file_t **thefile, char *fname, ap_context_t *cont)
+ap_status_t ap_stat(struct file_t **thefile, const char *fname, ap_context_t *cont)
{
struct stat info;
int rv = stat(fname, &info);
1.30 +3 -1 apache-2.0/src/lib/apr/file_io/unix/open.c
Index: open.c
===================================================================
RCS file: /home/cvs/apache-2.0/src/lib/apr/file_io/unix/open.c,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -r1.29 -r1.30
--- open.c 1999/12/31 01:16:53 1.29
+++ open.c 2000/01/04 19:00:42 1.30
@@ -104,7 +104,9 @@
int oflags = 0;
char *buf_oflags;
- (*new) = (struct file_t *)ap_palloc(cont, sizeof(struct file_t));
+ if ((*new) == NULL) {
+ (*new) = (struct file_t *)ap_palloc(cont, sizeof(struct file_t));
+ }
(*new)->cntxt = cont;
(*new)->oflags = oflags;
1.25 +1 -1 apache-2.0/src/lib/apr/include/apr_file_io.h
Index: apr_file_io.h
===================================================================
RCS file: /home/cvs/apache-2.0/src/lib/apr/include/apr_file_io.h,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -r1.24 -r1.25
--- apr_file_io.h 2000/01/03 19:47:44 1.24
+++ apr_file_io.h 2000/01/04 19:00:44 1.25
@@ -132,7 +132,7 @@
ap_status_t ap_make_iov(ap_iovec_t **, struct iovec *, ap_context_t *);
ap_status_t ap_dupfile(ap_file_t **, ap_file_t *);
ap_status_t ap_getfileinfo(ap_file_t *);
-ap_status_t ap_stat(ap_file_t **thefile, char *fname, ap_context_t *cont);
+ap_status_t ap_stat(ap_file_t **thefile, const char *fname, ap_context_t *cont);
ap_status_t ap_seek(ap_file_t *, ap_seek_where_t, ap_off_t *);
ap_status_t ap_opendir(ap_dir_t **, const char *, ap_context_t *);
1.6 +1 -1 apache-2.0/src/lib/apr/test/abc.c
Index: abc.c
===================================================================
RCS file: /home/cvs/apache-2.0/src/lib/apr/test/abc.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- abc.c 1999/10/14 14:36:35 1.5
+++ abc.c 2000/01/04 19:00:47 1.6
@@ -6,7 +6,7 @@
int main(int argc, char *argv[])
{
- ap_file_t *fd;
+ ap_file_t *fd = NULL;
char ch;
int status = 0;
ap_context_t *context;
1.8 +2 -2 apache-2.0/src/lib/apr/test/testfile.c
Index: testfile.c
===================================================================
RCS file: /home/cvs/apache-2.0/src/lib/apr/test/testfile.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- testfile.c 1999/10/15 14:20:19 1.7
+++ testfile.c 2000/01/04 19:00:49 1.8
@@ -210,7 +210,7 @@
int test_filedel(ap_context_t *context)
{
- ap_file_t *thefile;
+ ap_file_t *thefile = NULL;
ap_int32_t flag = APR_READ | APR_WRITE | APR_CREATE;
ap_status_t stat;
@@ -238,7 +238,7 @@
int testdirs(ap_context_t *context)
{
ap_dir_t *temp;
- ap_file_t *file;
+ ap_file_t *file = NULL;
ap_ssize_t bytes;
ap_filetype_e type;
char *fname;
1.5 +1 -1 apache-2.0/src/lib/apr/test/testmmap.c
Index: testmmap.c
===================================================================
RCS file: /home/cvs/apache-2.0/src/lib/apr/test/testmmap.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- testmmap.c 1999/12/15 12:20:40 1.4
+++ testmmap.c 2000/01/04 19:00:49 1.5
@@ -70,7 +70,7 @@
{
ap_context_t *context;
ap_mmap_t *themmap = NULL;
- ap_file_t *thefile;
+ ap_file_t *thefile = NULL;
ap_int32_t flag = APR_READ;
char *file1;
ap_ssize_t filesize;
1.9 +1 -1 apache-2.0/src/lib/apr/test/testproc.c
Index: testproc.c
===================================================================
RCS file: /home/cvs/apache-2.0/src/lib/apr/test/testproc.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- testproc.c 1999/12/30 19:45:38 1.8
+++ testproc.c 2000/01/04 19:00:49 1.9
@@ -73,7 +73,7 @@
ap_context_t *context;
ap_proc_t *newproc;
ap_procattr_t *attr;
- ap_file_t *testfile;
+ ap_file_t *testfile = NULL;
ap_ssize_t length;
char *buf;
char *args[3];
1.27 +1 -1 apache-2.0/src/main/buff.c
Index: buff.c
===================================================================
RCS file: /home/cvs/apache-2.0/src/main/buff.c,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -r1.26 -r1.27
--- buff.c 1999/12/19 10:05:08 1.26
+++ buff.c 2000/01/04 19:00:52 1.27
@@ -1000,7 +1000,7 @@
ap_iol *iol;
BUFF *fb;
ap_status_t rv;
- ap_file_t *file;
+ ap_file_t *file = NULL;
rv = ap_open(&file, name, flg, 0, a);
if ((rv != APR_SUCCESS) || (file == NULL)) {
return NULL;
1.21 +3 -3 apache-2.0/src/main/http_config.c
Index: http_config.c
===================================================================
RCS file: /home/cvs/apache-2.0/src/main/http_config.c,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- http_config.c 1999/12/11 20:29:17 1.20
+++ http_config.c 2000/01/04 19:00:52 1.21
@@ -1021,20 +1021,20 @@
{
const char *errmsg;
cmd_parms parms;
- struct stat finfo;
+ ap_file_t *finfo = NULL;
fname = ap_server_root_relative(p, fname);
if (!(strcmp(fname, ap_server_root_relative(p, RESOURCE_CONFIG_FILE))) ||
!(strcmp(fname, ap_server_root_relative(p, ACCESS_CONFIG_FILE)))) {
- if (stat(fname, &finfo) == -1)
+ if (ap_stat(&finfo, fname, ptemp) != APR_SUCCESS)
return;
}
/* 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)))) {
- if (stat(fname, &finfo) == -1)
+ if (ap_stat(&finfo, fname, ptemp) != APR_SUCCESS)
return;
}
1.23 +5 -6 apache-2.0/src/main/http_log.c
Index: http_log.c
===================================================================
RCS file: /home/cvs/apache-2.0/src/main/http_log.c,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -r1.22 -r1.23
--- http_log.c 1999/12/13 20:52:26 1.22
+++ http_log.c 2000/01/04 19:00:53 1.23
@@ -204,7 +204,7 @@
int rc;
if (*s->error_fname == '|') {
- ap_file_t *dummy;
+ ap_file_t *dummy = NULL;
/* This starts a new process... */
rc = log_child (p, s->error_fname+1, &dummy);
@@ -299,7 +299,7 @@
}
API_EXPORT(void) ap_error_log2stderr(server_rec *s) {
- ap_file_t *errfile;
+ ap_file_t *errfile = NULL;
ap_open_stderr(&errfile, s->process->pool);
if ( s->error_log != NULL) {
@@ -513,8 +513,7 @@
void ap_log_pid(ap_context_t *p, const char *fname)
{
- ap_file_t *pid_file;
- struct stat finfo;
+ ap_file_t *pid_file = NULL;
static pid_t saved_pid = -1;
pid_t mypid;
@@ -523,7 +522,7 @@
fname = ap_server_root_relative(p, fname);
mypid = getpid();
- if (mypid != saved_pid && stat(fname, &finfo) == 0) {
+ if (mypid != saved_pid && ap_stat(&pid_file, fname, p) == 0) {
/* WINCH and HUP call this on each restart.
* Only warn on first time through for this pid.
*
@@ -740,7 +739,7 @@
API_EXPORT(piped_log *) ap_open_piped_log(ap_context_t *p, const char *program)
{
piped_log *pl;
- ap_file_t *dummy;
+ ap_file_t *dummy = NULL;
int rc;
rc = log_child(p, program, &dummy);
1.23 +1 -1 apache-2.0/src/main/util.c
Index: util.c
===================================================================
RCS file: /home/cvs/apache-2.0/src/main/util.c,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -r1.22 -r1.23
--- util.c 1999/12/30 18:31:28 1.22
+++ util.c 2000/01/04 19:00:53 1.23
@@ -765,7 +765,7 @@
API_EXPORT(ap_status_t) ap_pcfg_openfile(configfile_t **ret_cfg, ap_context_t *p, const char *name)
{
configfile_t *new_cfg;
- ap_file_t *file;
+ ap_file_t *file = NULL;
ap_status_t stat;
ap_filetype_e type;
1.6 +1 -1 apache-2.0/src/modules/experimental/mod_mmap_static.c
Index: mod_mmap_static.c
===================================================================
RCS file: /home/cvs/apache-2.0/src/modules/experimental/mod_mmap_static.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- mod_mmap_static.c 1999/11/20 12:55:26 1.5
+++ mod_mmap_static.c 2000/01/04 19:00:56 1.6
@@ -167,7 +167,7 @@
a_server_config *sconf;
a_file *new_file;
a_file tmp;
- ap_file_t *fd;
+ ap_file_t *fd = NULL;
caddr_t mm;
if (stat(filename, &tmp.finfo) == -1) {
1.63 +3 -3 apache-2.0/src/modules/mpm/prefork/prefork.c
Index: prefork.c
===================================================================
RCS file: /home/cvs/apache-2.0/src/modules/mpm/prefork/prefork.c,v
retrieving revision 1.62
retrieving revision 1.63
diff -u -r1.62 -r1.63
--- prefork.c 1999/12/31 20:32:34 1.62
+++ prefork.c 2000/01/04 19:00:57 1.63
@@ -548,7 +548,7 @@
*/
static void accept_mutex_init(ap_context_t *p)
{
- ap_file_t *tempfile;
+ ap_file_t *tempfile = NULL;
lock_it.l_whence = SEEK_SET; /* from current point */
lock_it.l_start = 0; /* -"- */
lock_it.l_len = 0; /* until end of file */
@@ -623,7 +623,7 @@
*/
static void accept_mutex_child_init(ap_context_t *p)
{
- ap_file_t *tempfile;
+ ap_file_t *tempfile = NULL;
ap_status_t ret;
ret=ap_open(&tempfile, ap_lock_fname, APR_WRITE, APR_UREAD|APR_UWRITE, p);
@@ -641,7 +641,7 @@
*/
static void accept_mutex_init(ap_context_t *p)
{
- ap_file_t *tempfile;
+ ap_file_t *tempfile = NULL;
ap_status_t ret;
expand_lock_fname(p);
1.13 +1 -1 apache-2.0/src/modules/standard/mod_asis.c
Index: mod_asis.c
===================================================================
RCS file: /home/cvs/apache-2.0/src/modules/standard/mod_asis.c,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- mod_asis.c 1999/11/01 04:27:05 1.12
+++ mod_asis.c 2000/01/04 19:01:00 1.13
@@ -65,7 +65,7 @@
static int asis_handler(request_rec *r)
{
- ap_file_t *f;
+ ap_file_t *f = NULL;
ap_status_t status;
const char *location;
1.15 +2 -2 apache-2.0/src/modules/standard/mod_autoindex.c
Index: mod_autoindex.c
===================================================================
RCS file: /home/cvs/apache-2.0/src/modules/standard/mod_autoindex.c,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- mod_autoindex.c 1999/11/23 13:47:01 1.14
+++ mod_autoindex.c 2000/01/04 19:01:01 1.15
@@ -939,7 +939,7 @@
static void emit_head(request_rec *r, char *header_fname, int suppress_amble,
char *title)
{
- ap_file_t *f;
+ ap_file_t *f = NULL;
request_rec *rr = NULL;
int emit_amble = 1;
int emit_H1 = 1;
@@ -1022,7 +1022,7 @@
*/
static void emit_tail(request_rec *r, char *readme_fname, int suppress_amble)
{
- ap_file_t *f;
+ ap_file_t *f = NULL;
request_rec *rr = NULL;
int suppress_post = 0;
int suppress_sig = 0;
1.22 +3 -3 apache-2.0/src/modules/standard/mod_cgi.c
Index: mod_cgi.c
===================================================================
RCS file: /home/cvs/apache-2.0/src/modules/standard/mod_cgi.c,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- mod_cgi.c 1999/12/14 20:37:58 1.21
+++ mod_cgi.c 2000/01/04 19:01:01 1.22
@@ -166,7 +166,7 @@
static int log_scripterror(request_rec *r, cgi_server_conf * conf, int ret,
int show_errno, char *error)
{
- ap_file_t *f;
+ ap_file_t *f = NULL;
struct stat finfo;
ap_log_rerror(APLOG_MARK, show_errno|APLOG_ERR, errno, r,
@@ -198,7 +198,7 @@
ap_array_header_t *hdrs_arr = ap_table_elts(r->headers_in);
ap_table_entry_t *hdrs = (ap_table_entry_t *) hdrs_arr->elts;
char argsbuffer[HUGE_STRING_LEN];
- ap_file_t *f;
+ ap_file_t *f = NULL;
int i;
struct stat finfo;
@@ -285,7 +285,7 @@
ap_procattr_t *procattr;
ap_proc_t *procnew;
ap_status_t rc = APR_SUCCESS;
- ap_file_t *file;
+ ap_file_t *file = NULL;
ap_iol *iol;
#ifdef DEBUG_CGI
1.2 +2 -2 apache-2.0/src/modules/standard/mod_cgid.c
Index: mod_cgid.c
===================================================================
RCS file: /home/cvs/apache-2.0/src/modules/standard/mod_cgid.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- mod_cgid.c 1999/11/19 20:22:51 1.1
+++ mod_cgid.c 2000/01/04 19:01:01 1.2
@@ -666,7 +666,7 @@
static int log_scripterror(request_rec *r, cgid_server_conf * conf, int ret,
int show_errno, char *error)
{
- ap_file_t *f;
+ ap_file_t *f = NULL;
struct stat finfo;
ap_log_rerror(APLOG_MARK, show_errno|APLOG_ERR, errno, r,
@@ -698,7 +698,7 @@
ap_array_header_t *hdrs_arr = ap_table_elts(r->headers_in);
ap_table_entry_t *hdrs = (ap_table_entry_t *) hdrs_arr->elts;
char argsbuffer[HUGE_STRING_LEN];
- ap_file_t *f;
+ ap_file_t *f = NULL;
int i;
struct stat finfo;
1.14 +2 -2 apache-2.0/src/modules/standard/mod_include.c
Index: mod_include.c
===================================================================
RCS file: /home/cvs/apache-2.0/src/modules/standard/mod_include.c,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- mod_include.c 1999/12/20 16:38:39 1.13
+++ mod_include.c 2000/01/04 19:01:02 1.14
@@ -823,7 +823,7 @@
ap_status_t rc;
ap_table_t *env = r->subprocess_env;
char **argv;
- ap_file_t *file;
+ ap_file_t *file = NULL;
ap_iol *iol;
arg.r = r;
@@ -2347,7 +2347,7 @@
static int send_parsed_file(request_rec *r)
{
- ap_file_t *f;
+ ap_file_t *f = NULL;
enum xbithack *state =
(enum xbithack *) ap_get_module_config(r->per_dir_config, &includes_module);
int errstatus;
1.11 +2 -2 apache-2.0/src/modules/standard/mod_mime_magic.c
Index: mod_mime_magic.c
===================================================================
RCS file: /home/cvs/apache-2.0/src/modules/standard/mod_mime_magic.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- mod_mime_magic.c 1999/12/13 20:52:28 1.10
+++ mod_mime_magic.c 2000/01/04 19:01:02 1.11
@@ -935,7 +935,7 @@
*/
static int apprentice(server_rec *s, ap_context_t *p)
{
- ap_file_t *f;
+ ap_file_t *f = NULL;
ap_status_t result;
char line[BUFSIZ + 1];
int errs = 0;
@@ -2153,7 +2153,7 @@
ap_context_t *child_context = cntxt;
ap_procattr_t *procattr;
ap_proc_t *procnew = NULL;
- ap_file_t *file;
+ ap_file_t *file = NULL;
ap_iol *iol;
ap_block_alarms();
1.14 +1 -1 apache-2.0/src/modules/standard/mod_negotiation.c
Index: mod_negotiation.c
===================================================================
RCS file: /home/cvs/apache-2.0/src/modules/standard/mod_negotiation.c,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- mod_negotiation.c 1999/12/20 16:38:39 1.13
+++ mod_negotiation.c 2000/01/04 19:01:04 1.14
@@ -776,7 +776,7 @@
static int read_type_map(negotiation_state *neg, request_rec *rr)
{
request_rec *r = neg->r;
- ap_file_t *map;
+ ap_file_t *map = NULL;
ap_status_t status;
char buffer[MAX_STRING_LEN];
enum header_state hstate;
1.8 +3 -3 apache-2.0/src/modules/standard/mod_rewrite.c
Index: mod_rewrite.c
===================================================================
RCS file: /home/cvs/apache-2.0/src/modules/standard/mod_rewrite.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- mod_rewrite.c 1999/12/31 05:05:27 1.7
+++ mod_rewrite.c 2000/01/04 19:01:04 1.8
@@ -3394,9 +3394,9 @@
static void run_rewritemap_programs(server_rec *s, ap_context_t *p)
{
rewrite_server_conf *conf;
- ap_file_t *fpin;
- ap_file_t *fpout;
- ap_file_t *fperr;
+ ap_file_t *fpin = NULL;
+ ap_file_t *fpout = NULL;
+ ap_file_t *fperr = NULL;
ap_array_header_t *rewritemaps;
rewritemap_entry *entries;
rewritemap_entry *map;