UnpackDomainName: fix infinite loop where it would lower 'off'
UnpackDomainName: fix infinite loop where it would lower 'off'

When a pointer points to a empty name, the "return '.'" special case used to
kick in which is not pointer-aware so it would reset the parsing offset to
the pointer target

This was independently found and fixed in c13d4ee, I'm submitting this patch
anyway as it seems a bit more robust and DRY [citation needed].

skynet/dns,ErikDubbelboer/dns,tsenart/dns,michaelharo/dns,tempbottle/dns,letsencrypt/dns,curtiszimmerman/dns,skyportsystems/dns,bragr/dns,ezoic/dns,Psiphon-Inc/dns,cloudflare/dns,hugozhu/dns,miekg/dns,bboreham/dns,modulexcite/dns,asergeyev/dns,janstk/dns,jmhodges/dns,josephyzhou/dns