Annotation of embedaddon/arping/src/fuzz_pingmac.c, revision 1.1

1.1     ! misho       1: #include<errno.h>
        !             2: #include<string.h>
        !             3: #include<stdio.h>
        !             4: #include<stdlib.h>
        !             5: #include<unistd.h>
        !             6: #include<inttypes.h>
        !             7: 
        !             8: #include<pcap.h>
        !             9: 
        !            10: #include"arping.h"
        !            11: 
        !            12: int
        !            13: main()
        !            14: {
        !            15:         const size_t maxpacket = 1500;
        !            16:         char* const packet = calloc(1, maxpacket);
        !            17:         size_t packet_size = 0;
        !            18: 
        !            19:         // Read packet.
        !            20:         {
        !            21:                 char* p = packet;
        !            22:                 size_t size = maxpacket;
        !            23:                 while (size > 0) {
        !            24:                         const ssize_t n = read(STDIN_FILENO, p, size);
        !            25:                         if (n == 0) {
        !            26:                                 break;
        !            27:                         }
        !            28:                         if (n < 0) {
        !            29:                                 fprintf(stderr, "read(): %s\n", strerror(errno));
        !            30:                                 return 1;
        !            31:                         }
        !            32:                         size -= n;
        !            33:                         p += n;
        !            34:                 }
        !            35:                 packet_size = p - packet;
        !            36:         }
        !            37: 
        !            38:         struct pcap_pkthdr pkthdr;
        !            39:         pkthdr.ts.tv_sec = time(NULL);
        !            40:         pkthdr.ts.tv_usec = 0;
        !            41:         pkthdr.len = packet_size;
        !            42:         pkthdr.caplen = packet_size;
        !            43: 
        !            44:         verbose = 9;
        !            45:         dstip = htonl(0x12345678);
        !            46:         pingip_recv(NULL, &pkthdr, packet);
        !            47: 
        !            48:         free(packet);
        !            49:         return 0;
        !            50: }
        !            51: /* ---- Emacs Variables ----
        !            52:  * Local Variables:
        !            53:  * c-basic-offset: 8
        !            54:  * indent-tabs-mode: nil
        !            55:  * End:
        !            56:  */

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>