#include <sys/socket.h> #include <stdlib.h> #include <stdio.h> int main(void) { struct sockaddr name; int res1, res2, res3; unsigned len = 10; res1 = socket(PF_UNIX, SOCK_STREAM, 0); if (res1 == 0) { fprintf(stderr, "socket() failed\n"); exit(1); } /* Valgrind 1.0.X doesn't report the second error */ res2 = getsockname(res1, NULL, &len); /* NULL is bogus */ res3 = getsockname(res1, &name, NULL); /* NULL is bogus */ if (res2 == -1) { fprintf(stderr, "getsockname(1) failed\n"); } if (res3 == -1) { fprintf(stderr, "getsockname(2) failed\n"); } return 0; }