Index: enum.c =================================================================== RCS file: /usr/cvsroot/asterisk/enum.c,v retrieving revision 1.20 diff -u -r1.20 enum.c --- enum.c 14 Jul 2004 07:44:19 -0000 1.20 +++ enum.c 2 Mar 2005 06:02:29 -0000 @@ -245,9 +245,14 @@ #endif if (answer != NULL) { - c->txtlen = strlen(answer); - strncpy(c->txt, answer, sizeof(c->txt) - 1); - c->txt[sizeof(c->txt) - 1] = 0; + /* skip the first byte of TXT RDATA */ + answer += 1; + len -= 1; + + /* answer has two unneeded bytes on the end as well */ + strncpy(c->txt, answer, strlen(answer) - 2); + c->txt[sizeof(c->txt) - 1] = "\0"; + c->txtlen = strlen(answer) - 2; return 1; } else { c->txt = NULL;