On Tue, Nov 23, 2021 at 02:14:13AM +0200, Vladimir Oltean wrote:

> diff --git a/ts2phc.h b/ts2phc.h
> new file mode 100644
> index 000000000000..14cb2b0c21a3
> --- /dev/null
> +++ b/ts2phc.h
> @@ -0,0 +1,23 @@
> +/**
> + * @file ts2phc.h
> + * @brief Structure definitions for ts2phc
> + * @note Copyright 2020 Vladimir Oltean <olte...@gmail.com>
> + * @note SPDX-License-Identifier: GPL-2.0+
> + */
> +#ifndef HAVE_TS2PHC_H
> +#define HAVE_TS2PHC_H
> +
> +struct ts2phc_sink_array;
> +
> +struct ts2phc_private {
> +     struct ts2phc_pps_source *src;
> +     STAILQ_HEAD(sink_ifaces_head, ts2phc_pps_sink) sinks;
> +     unsigned int n_sinks;
> +     struct ts2phc_sink_array *polling_array;
> +     struct config *cfg;
> +};
> +
> +#include "ts2phc_pps_source.h"
> +#include "ts2phc_pps_sink.h"

It is a bit strange to put the include directives after the struct
definitions.  After all, ts2phc_private has a pointer to a
ts2phc_pps_source.  Wonder why compiler doesn't complain about missing
forward declaration.

Anyhow, please put the include directives at the top.

> +#endif

> @@ -65,49 +64,55 @@ ts2phc_pps_sink_offset(struct ts2phc_pps_sink *sink,
>                      struct ts2phc_source_timestamp ts,
>                      int64_t *offset, uint64_t *local_ts);
>  
> -static STAILQ_HEAD(pps_sink_ifaces_head, ts2phc_pps_sink) ts2phc_sinks =
> -     STAILQ_HEAD_INITIALIZER(ts2phc_sinks);
> -
> -static unsigned int ts2phc_n_sinks;
> -
> -static int ts2phc_pps_sink_array_create(void)
> +static int ts2phc_pps_sink_array_create(struct ts2phc_private *priv)
>  {
> +     struct ts2phc_sink_array *polling_array;
>       struct ts2phc_pps_sink *sink;
>       unsigned int i;
>  
> -     if (polling_array.sink) {
> -             return 0;
> +     polling_array = malloc(sizeof(*polling_array));

This polling_array is never freed.  Please fix it, so that there is no
memory leak on normal program termination.

(I use valgrind in pre-release testing to make sure no new memory
issues have appeared.)

Thanks,
Richard



_______________________________________________
Linuxptp-devel mailing list
Linuxptp-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxptp-devel

Reply via email to