diff options
| author | luwenpeng <[email protected]> | 2024-10-25 19:15:28 +0800 |
|---|---|---|
| committer | luwenpeng <[email protected]> | 2024-10-25 19:15:45 +0800 |
| commit | 03864c9731ec87ed6c7e1fbe3c5f261880e857dc (patch) | |
| tree | 2b2343f491faf890889411b1a69a3f40b956e58f /decoders | |
| parent | 4061d5a942392c4716586ded8c586440d2e920ca (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.c | 8 |
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) |
