*** ./pcap-bpf.c.ORIG Tue Oct 30 17:02:20 2018 --- ./pcap-bpf.c Tue Oct 30 17:06:32 2018 *************** *** 1359,1365 **** /* Check if the driver is loaded */ memset(&cfg_ld, 0x0, sizeof(cfg_ld)); cfg_ld.path = buf; ! pcap_snprintf(cfg_ld.path, sizeof(cfg_ld.path), "%s/%s", DRIVER_PATH, BPF_NAME); if ((sysconfig(SYS_QUERYLOAD, (void *)&cfg_ld, sizeof(cfg_ld)) == -1) || (cfg_ld.kmid == 0)) { /* Driver isn't loaded, load it now */ --- 1359,1377 ---- /* Check if the driver is loaded */ memset(&cfg_ld, 0x0, sizeof(cfg_ld)); cfg_ld.path = buf; ! /* ! Had to go back to the V1.8.1 version as otherwise the path would ! not be set correctly. Debugging showed printing cfg_ld.path: ! ! V1.8.1: cfg_ld.path = >/usr/lib/drivers/bpf< ! V1.9.0: cfg_ld.path = >/us< ! ! which is clearly the wrong driver path. ! ! Fix: ! For the time being use sprintf() again instead of pcap_snprintf(). ! */ ! sprintf(cfg_ld.path, "%s/%s", DRIVER_PATH, BPF_NAME); if ((sysconfig(SYS_QUERYLOAD, (void *)&cfg_ld, sizeof(cfg_ld)) == -1) || (cfg_ld.kmid == 0)) { /* Driver isn't loaded, load it now */