if (server == 1) {
p2 = FlowForceReassemblyPseudoPacketGet(0, f, ssn, 0);
if (p2 == NULL) {
- TmqhOutputPacketpool(NULL,p1);
+ FlowDeReference(&p1->flow);
+ TmqhOutputPacketpool(NULL, p1);
return 1;
}
p3 = FlowForceReassemblyPseudoPacketGet(1, f, ssn, 1);
if (p3 == NULL) {
+ FlowDeReference(&p1->flow);
TmqhOutputPacketpool(NULL, p1);
+ FlowDeReference(&p2->flow);
TmqhOutputPacketpool(NULL, p2);
return 1;
}
} else {
p2 = FlowForceReassemblyPseudoPacketGet(0, f, ssn, 1);
if (p2 == NULL) {
+ FlowDeReference(&p1->flow);
TmqhOutputPacketpool(NULL, p1);
return 1;
}
p2 = FlowForceReassemblyPseudoPacketGet(1, f, ssn, 1);
if (p2 == NULL) {
+ FlowDeReference(&p1->flow);
TmqhOutputPacketpool(NULL, p1);
return 1;
}
if (server == 2) {
p2 = FlowForceReassemblyPseudoPacketGet(1, f, ssn, 1);
if (p2 == NULL) {
+ FlowDeReference(&p1->flow);
TmqhOutputPacketpool(NULL, p1);
return 1;
}
p2 = FlowForceReassemblyPseudoPacketGet(1, f, ssn, 1);
if (p2 == NULL) {
+ FlowDeReference(&p1->flow);
TmqhOutputPacketpool(NULL, p1);
return 1;
}