ArrayIndexOutOfBoundsException in MiniDNS Version 0.3.3

I was working on a project that uses MiniDNS, a DNS services library for Java.  I noticed I was getting a strange error message when loading certain requests, with no noticeable correlation between them:

java.lang.ArrayIndexOutOfBoundsException: Index -1 out of bounds for length 32
	at minidns.core@0.3.3/org.minidns.record.NSEC.createTypeBitMap(NSEC.java:104)
	at minidns.core@0.3.3/org.minidns.record.NSEC3.<init>(NSEC3.java:132)
	at minidns.core@0.3.3/org.minidns.record.NSEC3.<init>(NSEC3.java:136)
	at minidns.core@0.3.3/org.minidns.record.NSEC3.parse(NSEC3.java:119)
	at minidns.core@0.3.3/org.minidns.record.Record.parse(Record.java:387)
	at minidns.core@0.3.3/org.minidns.dnsmessage.DnsMessage.<init>(DnsMessage.java:413)
	<snip>

This is an edge case where an unknown DNS response type being returned for an NSEC3 answer gets “un-resolved” down the road and crashes the parser.  It has been fixed in 0.4.0-alpha.

Leave a Reply

Your email address will not be published. Required fields are marked *