aconf->iface);
aconf->flags |= AFP_BYPASS;
RunModeEnablesBypassManager();
- BypassedFlowManagerRegisterCheckFunc(EBPFCheckBypassedFlowTimeout,
- NULL,
- (void *) &(aconf->ebpf_t_config));
- BypassedFlowManagerRegisterUpdateFunc(EBPFUpdateFlow, NULL);
+ struct ebpf_timeout_config *ebt = SCCalloc(1, sizeof(struct ebpf_timeout_config));
+ if (ebt == NULL) {
+ SCLogError(SC_ERR_MEM_ALLOC, "Flow bypass alloc error");
+ } else {
+ memcpy(ebt, &(aconf->ebpf_t_config), sizeof(struct ebpf_timeout_config));
+ BypassedFlowManagerRegisterCheckFunc(EBPFCheckBypassedFlowTimeout,
+ NULL,
+ (void *)ebt);
+ BypassedFlowManagerRegisterUpdateFunc(EBPFUpdateFlow, NULL);
+ }
#else
SCLogError(SC_ERR_UNIMPLEMENTED, "Bypass set but eBPF support is not built-in");
#endif