break;
}
- TmEcode rc;
- rc = AFPSetBPFFilter(ptv);
+ TmEcode rc = AFPSetBPFFilter(ptv);
if (rc == TM_ECODE_FAILED) {
SCLogError(SC_ERR_AFP_CREATE, "Set AF_PACKET bpf filter \"%s\" failed.", ptv->bpf_filter);
ret = AFP_FATAL_ERROR;
socket_err:
close(ptv->socket);
ptv->socket = -1;
+ if (ptv->flags & AFP_TPACKET_V3) {
+ if (ptv->ring_v3) {
+ SCFree(ptv->ring_v3);
+ ptv->ring_v3 = NULL;
+ }
+ } else {
+ if (ptv->ring_v2) {
+ SCFree(ptv->ring_v2);
+ ptv->ring_v2 = NULL;
+ }
+ }
+
error:
return -ret;
}