diff --git a/disassembler.c b/disassembler.c
index 7cc4642..e201b49 100644
--- a/disassembler.c
+++ b/disassembler.c
@@ -353,10 +353,13 @@
                     }
                     while (*ptr2pc < end) {
                         uint8_t byte = program[(*ptr2pc)++];
+                        // value == 0xff is a wildcard that consumes the whole label.
                         // values < 0x40 could be lengths, but - and 0..9 are in practice usually
                         // too long to be lengths so print them as characters. All other chars < 0x40
                         // are not valid in dns character.
-                        if (byte == '-' || (byte >= '0' && byte <= '9') || byte >= 0x40) {
+                        if (byte == 0xff) {
+                            bprintf("(*)");
+                        } else if (byte == '-' || (byte >= '0' && byte <= '9') || byte >= 0x40) {
                             bprintf("%c", byte);
                         } else {
                             bprintf("(%d)", byte);
