1ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#include <sys/socket.h> 2ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#include <stdlib.h> 3ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#include <stdio.h> 4ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 5ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brownint main(void) 6ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown{ 7ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown struct sockaddr name; 8ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown int res1, res2, res3; 9436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov unsigned len = 10; 10ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 11ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown res1 = socket(PF_UNIX, SOCK_STREAM, 0); 12ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown if (res1 == 0) { 13ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown fprintf(stderr, "socket() failed\n"); 14ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown exit(1); 15ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown } 16ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 17ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown /* Valgrind 1.0.X doesn't report the second error */ 18ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown res2 = getsockname(res1, NULL, &len); /* NULL is bogus */ 19ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown res3 = getsockname(res1, &name, NULL); /* NULL is bogus */ 20ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown if (res2 == -1) { 21ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown fprintf(stderr, "getsockname(1) failed\n"); 22ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown } 23ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown if (res3 == -1) { 24ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown fprintf(stderr, "getsockname(2) failed\n"); 25ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown } 26ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 27ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown return 0; 28ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown} 29ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 30