diff --git a/src/lib/Libifl/pbsD_connect.c b/src/lib/Libifl/pbsD_connect.c index 42aa2b5157..2da4a24060 100644 --- a/src/lib/Libifl/pbsD_connect.c +++ b/src/lib/Libifl/pbsD_connect.c @@ -1377,7 +1377,10 @@ int pbs_disconnect( pbs_disconnect_socket(sock); if (connection[connect].ch_errtxt != (char *)NULL) + { free(connection[connect].ch_errtxt); + connection[connect].ch_errtxt = (char *)NULL; + } connection[connect].ch_errno = 0; connection[connect].ch_inuse = FALSE; diff --git a/src/scheduler.basl/af_server.c b/src/scheduler.basl/af_server.c index db041109a0..da9739f01c 100644 --- a/src/scheduler.basl/af_server.c +++ b/src/scheduler.basl/af_server.c @@ -1231,7 +1231,10 @@ server_disconnect(int connect) close(connection[connect].ch_socket); if (connection[connect].ch_errtxt != (char *)NULL) + { free(connection[connect].ch_errtxt); + connection[connect].ch_errtxt = (char *)NULL; + } connection[connect].ch_errno = 0; diff --git a/src/scheduler.tcl/pbs_sched.c b/src/scheduler.tcl/pbs_sched.c index 7fce80903d..e63679fad5 100644 --- a/src/scheduler.tcl/pbs_sched.c +++ b/src/scheduler.tcl/pbs_sched.c @@ -204,7 +204,10 @@ server_disconnect(int connect) close(connection[connect].ch_socket); if (connection[connect].ch_errtxt != (char *)NULL) + { free(connection[connect].ch_errtxt); + connection[connect].ch_errtxt = (char *)NULL; + } connection[connect].ch_errno = 0;