Wrap code that releases existing dependencies that we have just annotated in the context structure. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> --- src/payload.c | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/src/payload.c b/src/payload.c index df3c8136c88c..21c2842807cd 100644 --- a/src/payload.c +++ b/src/payload.c @@ -428,6 +428,17 @@ void payload_dependency_store(struct payload_dep_ctx *ctx, ctx->pdep = stmt; } +static void payload_dependency_release(struct payload_dep_ctx *ctx) +{ + list_del(&ctx->pdep->list); + stmt_free(ctx->pdep); + + ctx->pbase = PROTO_BASE_INVALID; + if (ctx->pdep == ctx->prev) + ctx->prev = NULL; + ctx->pdep = NULL; +} + /** * __payload_dependency_kill - kill a redundant payload depedency * @@ -442,15 +453,8 @@ void __payload_dependency_kill(struct payload_dep_ctx *ctx, { if (ctx->pbase != PROTO_BASE_INVALID && ctx->pbase == base && - ctx->pdep != NULL) { - list_del(&ctx->pdep->list); - stmt_free(ctx->pdep); - - ctx->pbase = PROTO_BASE_INVALID; - if (ctx->pdep == ctx->prev) - ctx->prev = NULL; - ctx->pdep = NULL; - } + ctx->pdep != NULL) + payload_dependency_release(ctx); } void payload_dependency_kill(struct payload_dep_ctx *ctx, struct expr *expr, -- 2.11.0 -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html