diff -urN globus_2_4_3_adv2003_fix892_fix956_more/gass/transfer/source/library/globus_gass_transfer_http.c globus_2_4_3_adv2003_fix892_fix956_plus/gass/transfer/source/library/globus_gass_transfer_http.c --- globus_2_4_3_adv2003_fix892_fix956_more/gass/transfer/source/library/globus_gass_transfer_http.c Mon Mar 10 17:00:17 2003 +++ globus_2_4_3_adv2003_fix892_fix956_plus/gass/transfer/source/library/globus_gass_transfer_http.c Sun Jan 4 19:47:24 2004 @@ -2021,6 +2021,10 @@ { globus_free(proto->reason); } + if(proto->connected_subject != GLOBUS_NULL) + { + globus_free(proto->connected_subject); + } if(proto->client_side) { globus_url_destroy(&proto->url); diff -urN globus_2_4_3_adv2003_fix892_fix956_more/gass/transfer/source/library/globus_gass_transfer_server.c globus_2_4_3_adv2003_fix892_fix956_plus/gass/transfer/source/library/globus_gass_transfer_server.c --- globus_2_4_3_adv2003_fix892_fix956_more/gass/transfer/source/library/globus_gass_transfer_server.c Mon Mar 10 17:00:17 2003 +++ globus_2_4_3_adv2003_fix892_fix956_plus/gass/transfer/source/library/globus_gass_transfer_server.c Sun Jan 4 19:47:59 2004 @@ -248,6 +248,7 @@ case GLOBUS_GASS_TRANSFER_LISTENER_INVALID: rc = GLOBUS_GASS_TRANSFER_ERROR_NOT_INITIALIZED; goto error_exit; + case GLOBUS_GASS_TRANSFER_LISTENER_STARTING: l->status = GLOBUS_GASS_TRANSFER_LISTENER_LISTENING; l->listen_callback = callback; @@ -260,13 +261,13 @@ case GLOBUS_GASS_TRANSFER_LISTENER_LISTENING: case GLOBUS_GASS_TRANSFER_LISTENER_ACCEPTING: rc = GLOBUS_GASS_TRANSFER_ERROR_ALREADY_REGISTERED; - break; + goto error_exit; case GLOBUS_GASS_TRANSFER_LISTENER_CLOSING1: case GLOBUS_GASS_TRANSFER_LISTENER_CLOSING2: case GLOBUS_GASS_TRANSFER_LISTENER_CLOSED: rc = GLOBUS_GASS_TRANSFER_ERROR_DONE; - break; + goto error_exit; } globus_i_gass_transfer_unlock();