Fixed a bug that would kill a child process because of an invalid

safefree() call.  Basically, destroy_conn() was trying to free memory
not allocated by malloc.  [Fix by David T. Pierson]
This commit is contained in:
Robert James Kaes 2003-05-04 04:35:10 +00:00
parent 65115c75c8
commit ac88af1f71
2 changed files with 4 additions and 5 deletions

View File

@ -1,4 +1,4 @@
/* $Id: conns.c,v 1.15 2003-04-16 16:37:59 rjkaes Exp $
/* $Id: conns.c,v 1.16 2003-05-04 04:35:10 rjkaes Exp $
*
* Create and free the connection structure. One day there could be
* other connection related tasks put here, but for now the header
@ -116,7 +116,7 @@ destroy_conn(struct conn_s *connptr)
if (connptr->error_variables) {
int i;
for(i = 0; connptr->error_variables[i]; i++) {
for (i = 0; i < connptr->error_variable_count; ++i) {
safefree(connptr->error_variables[i]->error_key);
safefree(connptr->error_variables[i]->error_val);
safefree(connptr->error_variables[i]);

View File

@ -1,4 +1,4 @@
/* $Id: conns.h,v 1.13 2003-04-16 16:37:58 rjkaes Exp $
/* $Id: conns.h,v 1.14 2003-05-04 04:35:10 rjkaes Exp $
*
* See 'conns.c' for a detailed description.
*
@ -40,8 +40,7 @@ struct conn_s {
/*
* Store the error response if there is one.
* This structure stores key -> value mappings for substitution
* in the error HTML files. a NULL pointer indicates the end of
* the array
* in the error HTML files.
*/
struct error_variable_s {
char *error_key;