Wrap code that releases existing dependencies that we have just
annotated in the context structure.

Signed-off-by: Pablo Neira Ayuso <pa...@netfilter.org>
---
 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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to