--- gvpe/src/vpn_dns.C 2011/10/18 10:54:17 1.53 +++ gvpe/src/vpn_dns.C 2011/10/18 11:11:32 1.55 @@ -403,13 +403,16 @@ for (;;) { + if (fill < 2) + return 0; + len = (data [0] << 8) | data [1]; - if (len <= MAXSIZE || fill < 2) + if (len <= MAXSIZE) break; // TODO: handle this better than skipping, e.g. by reset - slog (L_DEBUG, _("DNS: corrupted packet stream skipping a byte...")); + slog (L_DEBUG, _("DNS: corrupted packet (%02x %02x) stream skipping a byte..."), data [0], data [1]); remove (1); }