On Wed, 9 Aug 2023 13:53:37 -0400 Stevie Alvarez <stevie.6strings@xxxxxxxxx> wrote: > +/* > + * traceeval_results_release - release the results return by traceeval_query() > + * @teval: The descriptor used in traceeval_query() > + * @results: The results returned by traceeval_query() > + * > + * The @results returned by traceeval_query() is owned by @teval, and > + * how it manages it is implementation specific. The caller should not > + * worry about it. When the caller of traceeval_query() is done with > + * the @results, it must call traceeval_results_release() on it to > + * allow traceeval to clean up its references. > + */ > +void traceeval_results_release(struct traceeval *teval, > + union traceeval_data *results) > +{ > + if (!teval || !results) { > + if (!results) I just triggered this. The above should be: if (!teval) Just FYI ;-) -- Steve > + print_err("Results to be freed without accompanied traceeval instance!"); > + return; > + } > + > + data_release(teval->nr_val_types, &results, teval->val_types); > +}