diff --git a/src/plugin/plugin_manager.cpp b/src/plugin/plugin_manager.cpp index 96e1cc0..111c64c 100644 --- a/src/plugin/plugin_manager.cpp +++ b/src/plugin/plugin_manager.cpp @@ -152,6 +152,7 @@ struct plugin_manager_schema *plugin_manager_init(struct stellar *st, const char void plugin_manager_exit(struct plugin_manager_schema *plug_mgr) { + if(plug_mgr==NULL)return; struct plugin_specific *p=NULL; if (plug_mgr->plugin_load_specs_array) { diff --git a/test/packet_inject/packet_inject.cpp b/test/packet_inject/packet_inject.cpp index 0ffdc61..04e8851 100644 --- a/test/packet_inject/packet_inject.cpp +++ b/test/packet_inject/packet_inject.cpp @@ -428,6 +428,8 @@ static void on_sess_free(struct session *sess, void *sess_ctx, void *plugin_ctx) static void on_sess_msg(struct session *sess, int topic_id, const void *msg, void *sess_ctx, void *plugin_ctx) { + if(msg==NULL)return;// session closing, return directly + char buffer[1024] = {0}; struct packet *pkt = (struct packet *)msg; struct plugin_ctx *ctx = (struct plugin_ctx *)plugin_ctx;