- if (max_crypt_fd < fd) {
- crypt_functions = para_realloc(crypt_functions,
- 2 * (fd + 1) * sizeof(crypt_function*));
- max_crypt_fd = fd;
+ if (fd + 1 > cda_size) {
+ crypt_data_array = para_realloc(crypt_data_array,
+ (fd + 1) * sizeof(struct crypt_data));
+ memset(crypt_data_array + cda_size * sizeof(struct crypt_data), 0,
+ (fd + 1 - cda_size) * sizeof(struct crypt_data));
+ cda_size = fd + 1;