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) {