summaryrefslogtreecommitdiff
path: root/decoders
diff options
context:
space:
mode:
authorluwenpeng <[email protected]>2024-10-25 19:15:28 +0800
committerluwenpeng <[email protected]>2024-10-25 19:15:45 +0800
commit03864c9731ec87ed6c7e1fbe3c5f261880e857dc (patch)
tree2b2343f491faf890889411b1a69a3f40b956e58f /decoders
parent4061d5a942392c4716586ded8c586440d2e920ca (diff)
Add state to the on_session_message parameter.
* When state is closed, it implies that packet is null and the session will be destroyed
Diffstat (limited to 'decoders')
-rw-r--r--decoders/lpi_plus/lpip_module.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/decoders/lpi_plus/lpip_module.c b/decoders/lpi_plus/lpip_module.c
index 2b801c5..6bffeec 100644
--- a/decoders/lpi_plus/lpip_module.c
+++ b/decoders/lpi_plus/lpip_module.c
@@ -286,9 +286,13 @@ static int lpi_plus_detect(struct lpi_plus_detect_context *ctx, struct lpi_plus_
return new_appid;
}
-static void lpi_plus_on_session(struct session *sess, struct packet *pkt, void *args)
+static void lpi_plus_on_session(struct session *sess, enum session_state state, struct packet *pkt, void *args)
{
- if(pkt==NULL)return;
+ if (state == SESSION_STATE_CLOSED)
+ {
+ assert(pkt == NULL);
+ return;
+ }
struct lpi_plus_env *env=(struct lpi_plus_env *)args;
struct lpi_plus_exdata *exdata = (struct lpi_plus_exdata *)session_get_exdata(sess, env->lpip_session_exdata_idx);
if(exdata==NULL)