Free(((NTP_Source *)ARR_GetElement(ntp_sources, i))->params.name);
for (i = 0; i < ARR_GetSize(ntp_source_dirs); i++)
Free(*(char **)ARR_GetElement(ntp_source_dirs, i));
+ for (i = 0; i < ARR_GetSize(refclock_sources); i++) {
+ Free(((RefclockParameters *)ARR_GetElement(refclock_sources, i))->driver_name);
+ Free(((RefclockParameters *)ARR_GetElement(refclock_sources, i))->driver_parameter);
+ }
ARR_DestroyInstance(init_sources);
ARR_DestroyInstance(ntp_sources);
void
CNF_AddRefclocks(void)
{
+ RefclockParameters *refclock;
unsigned int i;
for (i = 0; i < ARR_GetSize(refclock_sources); i++) {
- RCL_AddRefclock((RefclockParameters *)ARR_GetElement(refclock_sources, i));
+ refclock = ARR_GetElement(refclock_sources, i);
+ RCL_AddRefclock(refclock);
+ Free(refclock->driver_name);
+ Free(refclock->driver_parameter);
}
ARR_SetSize(refclock_sources, 0);
LOG_FATAL("refclock tai option requires leapsectz");
inst->data = NULL;
- inst->driver_parameter = params->driver_parameter;
+ inst->driver_parameter = Strdup(params->driver_parameter);
inst->driver_parameter_length = 0;
inst->driver_poll = params->driver_poll;
inst->poll = params->poll;
params->driver_name, UTI_RefidToString(inst->ref_id),
inst->poll, inst->driver_poll, params->filter_length);
- Free(params->driver_name);
-
return 1;
}