Add potential buffer overrun check.
authorfredrik <fredrik@959494ce-11ee-0310-bf91-de5d638817bd>
Thu, 12 Jan 2006 16:49:35 +0000 (16:49 +0000)
committerfredrik <fredrik@959494ce-11ee-0310-bf91-de5d638817bd>
Thu, 12 Jan 2006 16:49:35 +0000 (16:49 +0000)
git-svn-id: svn+ssh://svn.dolda2000.com/srv/svn/repos/src/icmp-dn@546 959494ce-11ee-0310-bf91-de5d638817bd

src/idnlookup.c

index c384796..0fd367f 100644 (file)
@@ -78,6 +78,10 @@ void printdn(FILE *f, unsigned char *dnbuf, size_t size, int onlyfirst)
                fprintf(stderr, "domain name decompression not implemented, aborting\n");
                exit(1);
            }
+           if((int)*p + (p - dnbuf) >= size) {
+               fprintf(stderr, "malformed domain name\n");
+               return;
+           }
            fprintf(f, "%.*s", (int)*p, p + 1);
            p += 1 + (int)*p;
            if(*p != 0)