]> The Tcpdump Group git mirrors - libpcap/blobdiff - pcap-usb-linux.c
More pcap_setdirection() cleanups.
[libpcap] / pcap-usb-linux.c
index bbadded8d36431f87bc08a0d9ae3be965cc3996d..d4d189e03ba85763c1cfb3000f701d8898e13d75 100644 (file)
@@ -1109,7 +1109,18 @@ usb_stats_linux(pcap_t *handle, struct pcap_stat *stats)
 static int
 usb_setdirection_linux(pcap_t *p, pcap_direction_t d)
 {
-       p->direction = d;
+       switch (d) {
+
+       case PCAP_D_IN:
+       case PCAP_D_OUT:
+       case PCAP_D_INOUT:
+               p->direction = d;
+               break;
+
+       default:
+               snprintf(p->errbuf, sizeof(p->errbuf), "Invalid direction");
+               return -1;
+       }
        return 0;
 }