test empty domain name with offset pointer in dn_expand-empty
[libc-test.git] / src / regression / dn_expand-empty.c
blobb7287d87524949055f38cbba1872e6b0f3297247
1 // dn_expand should accept empty name (single \0)
2 #define _BSD_SOURCE
3 #include <resolv.h>
4 #include "test.h"
6 int main(void)
8 unsigned char packet[3] = "";
9 char name[] = "x";
10 int r;
12 /* empty name in packet */
13 r = dn_expand(packet, packet+1, packet, name, 1);
14 if (r!=1)
15 t_error("dn_expand(\"\", name, 1) returned %d, wanted 1\n", r);
16 if (name[0])
17 t_error("dn_expand(\"\", name, 1) failed: got \"%s\" name, wanted \"\"\n", name);
19 /* empty name with offset pointer in packet */
20 memcpy(packet, "\xc0\2", 3);
21 name[0] = 'x';
22 r = dn_expand(packet, packet+3, packet, name, 1);
23 if (r!=2)
24 t_error("dn_expand(\"\\xc0\\2\", name, 1) returned %d, wanted 1\n", r);
25 if (name[0])
26 t_error("dn_expand(\"\\xc0\\2\", name, 1) failed: got \"%s\" name, wanted \"\"\n", name);
28 return t_status;