randy 96/12/24 12:03:25
Modified: src CHANGES mod_cgi.c
Log:
Fix invalid reference to the correct resource pool. This could cause
resources not to be properly freed, or freeing of invalid resources.
Reviewed by: Chuck Murcko, Randy Terbush
Submitted by: Dean Gaudet
Revision Changes Path
1.101 +3 -0 apache/src/CHANGES
Index: CHANGES
===================================================================
RCS file: /export/home/cvs/apache/src/CHANGES,v
retrieving revision 1.100
retrieving revision 1.101
diff -C3 -r1.100 -r1.101
*** CHANGES 1996/12/24 19:53:04 1.100
--- CHANGES 1996/12/24 20:03:22 1.101
***************
*** 1,5 ****
--- 1,8 ----
Changes with Apache 1.2b3:
+ *) Fix error in mod_cgi which could cause resources not to be properly
+ freed, or worse. [Dean Gaudet]
+
*) Fix find_string() NULL pointer dereference. [Howard Fear]
*) Add set_flag_slot() at the request of Dirk and others.
1.26 +4 -4 apache/src/mod_cgi.c
Index: mod_cgi.c
===================================================================
RCS file: /export/home/cvs/apache/src/mod_cgi.c,v
retrieving revision 1.25
retrieving revision 1.26
diff -C3 -r1.25 -r1.26
*** mod_cgi.c 1996/12/17 22:13:06 1.25
--- mod_cgi.c 1996/12/24 20:03:23 1.26
***************
*** 389,395 ****
cld.debug = conf->logname ? 1 : 0;
if (!(child_pid =
! spawn_child_err (r->connection->pool, cgi_child, (void *)&cld,
nph ? just_wait : kill_after_timeout,
#ifdef __EMX__
&script_out, &script_in, &script_err))) {
--- 389,395 ----
cld.debug = conf->logname ? 1 : 0;
if (!(child_pid =
! spawn_child_err (r->pool, cgi_child, (void *)&cld,
nph ? just_wait : kill_after_timeout,
#ifdef __EMX__
&script_out, &script_in, &script_err))) {
***************
*** 450,456 ****
kill_timeout (r);
}
! pfclose (r->connection->pool, script_out);
/* Handle script return... */
if (script_in && !nph) {
--- 450,456 ----
kill_timeout (r);
}
! pfclose (r->pool, script_out);
/* Handle script return... */
if (script_in && !nph) {
***************
*** 496,503 ****
while (fgets(argsbuffer, HUGE_STRING_LEN-1, script_err) != NULL)
continue;
kill_timeout (r);
! pfclose (r->connection->pool, script_in);
! pfclose (r->connection->pool, script_err);
}
if (nph) {
--- 496,503 ----
while (fgets(argsbuffer, HUGE_STRING_LEN-1, script_err) != NULL)
continue;
kill_timeout (r);
! pfclose (r->pool, script_in);
! pfclose (r->pool, script_err);
}
if (nph) {