}
rec->addresses[i] = NULL;
- if (rec->is_static) {
- if (num_values < 1) {
- status = NT_STATUS_INTERNAL_DB_CORRUPTION;
- goto failed;
- }
- rec->state = WREPL_STATE_ACTIVE;
+ if (rec->is_static && rec->state == WREPL_STATE_ACTIVE) {
rec->expire_time = get_time_t_max();
for (i=0;rec->addresses[i];i++) {
rec->addresses[i]->expire_time = rec->expire_time;
size_t addr_count;
const char *expire_time;
struct ldb_message *msg = ldb_msg_new(mem_ctx);
- if (msg == NULL) goto failed;
+ if (msg == NULL) goto failed;
- if (rec->is_static) {
- rec->state = WREPL_STATE_ACTIVE;
+ if (rec->is_static && rec->state == WREPL_STATE_ACTIVE) {
rec->expire_time = get_time_t_max();
for (i=0;rec->addresses[i];i++) {
rec->addresses[i]->expire_time = rec->expire_time;