blob: 0e27c97d79e256ec6cde34d2b9ed15ce7d96fe9d [file] [log] [blame]
#include "poc_test.h"
#include <errno.h>
#include <fcntl.h>
#include <stdio.h>
#include <string.h>
#include <sys/socket.h>
#include <unistd.h>
int main(int argc, char* argv[]) {
VtsHostInput host_input = ParseVtsHostFlags(argc, argv);
struct sockaddr sa;
socklen_t len, i;
int fd;
fd = socket(AF_BLUETOOTH, SOCK_STREAM, 3);
if (fd == -1) {
printf("[-] can't create socket: %s\n", strerror(errno));
return POC_TEST_SKIP;
}
memset(&sa, 0, sizeof(sa));
sa.sa_family = AF_BLUETOOTH;
if (bind(fd, &sa, 2)) {
printf("[-] can't bind socket: %s\n", strerror(errno));
close(fd);
return POC_TEST_SKIP;
}
len = sizeof(sa);
if (getsockname(fd, &sa, &len)) {
printf("[-] can't getsockname for socket: %s\n", strerror(errno));
close(fd);
return POC_TEST_SKIP;
} else {
printf("[+] getsockname return len = %d\n", len);
}
for (i = 0; i < len; i++) {
printf("%02x ", ((unsigned char*)&sa)[i]);
}
printf("\n");
for (i = 1; i < len; i++) {
if (((unsigned char*)&sa)[i] != 0) {
return POC_TEST_FAIL;
}
}
close(fd);
return POC_TEST_PASS;
}