--- afd-1.3.2/src/amg/reread_dir_config.c 2006-03-28 15:58:51.000000000 +0200 +++ afd/src/amg/reread_dir_config.c 2006-04-21 16:23:13.000000000 +0200 @@ -368,9 +368,14 @@ * place where the change took place, * overwrite all parameters. */ - (void)strcpy(fsa[host_pos].real_hostname[0], hl[i].real_hostname[0]); - (void)strcpy(fsa[host_pos].real_hostname[1], hl[i].real_hostname[1]); - (void)strcpy(fsa[host_pos].proxy_name, hl[i].proxy_name); + (void)memcpy(fsa[host_pos].real_hostname[0], + hl[i].real_hostname[0], + MAX_REAL_HOSTNAME_LENGTH); + (void)memcpy(fsa[host_pos].real_hostname[1], + hl[i].real_hostname[1], + MAX_REAL_HOSTNAME_LENGTH); + (void)memcpy(fsa[host_pos].proxy_name, hl[i].proxy_name, + MAX_PROXY_NAME_LENGTH + 1); fsa[host_pos].allowed_transfers = hl[i].allowed_transfers; if (old_hl[i].allowed_transfers != hl[i].allowed_transfers) { --- afd-1.3.2/src/amg/reread_host_config.c 2006-03-09 13:18:48.000000000 +0100 +++ afd/src/amg/reread_host_config.c 2006-04-21 16:23:15.000000000 +0200 @@ -241,8 +241,10 @@ * finding the place where the change took place, overwrite * all parameters. */ - (void)strcpy(fsa[host_pos].real_hostname[0], hl[i].real_hostname[0]); - (void)strcpy(fsa[host_pos].real_hostname[1], hl[i].real_hostname[1]); + (void)memcpy(fsa[host_pos].real_hostname[0], + hl[i].real_hostname[0], MAX_REAL_HOSTNAME_LENGTH); + (void)memcpy(fsa[host_pos].real_hostname[1], + hl[i].real_hostname[1], MAX_REAL_HOSTNAME_LENGTH); if (CHECK_STRCMP(hl[i].host_toggle_str, (*old_hl)[host_pos].host_toggle_str) != 0) { if (hl[i].host_toggle_str[0] == '\0') @@ -275,7 +277,8 @@ } } } - (void)strcpy(fsa[host_pos].proxy_name, hl[i].proxy_name); + (void)memcpy(fsa[host_pos].proxy_name, hl[i].proxy_name, + MAX_PROXY_NAME_LENGTH + 1); fsa[host_pos].allowed_transfers = hl[i].allowed_transfers; if ((*old_hl)[host_pos].allowed_transfers != hl[i].allowed_transfers) { --- afd-1.3.2/src/amg/convert_fsa.c 2006-04-13 11:03:47.000000000 +0200 +++ afd/src/amg/convert_fsa.c 2006-04-21 16:07:31.000000000 +0200 @@ -395,6 +395,7 @@ *old_fsa_size = -1; return(NULL); } + (void)memset(ptr, 0, new_size); new_fsa = (struct filetransfer_status_1 *)ptr; /* @@ -634,6 +635,7 @@ *old_fsa_size = -1; return(NULL); } + (void)memset(ptr, 0, new_size); new_fsa = (struct filetransfer_status_2 *)ptr; /* @@ -883,6 +885,7 @@ *old_fsa_size = -1; return(NULL); } + (void)memset(ptr, 0, new_size); new_fsa = (struct filetransfer_status_2 *)ptr; /*