diff options
| author | 2018-07-24 01:26:48 +0100 | |
|---|---|---|
| committer | 2018-07-24 01:26:48 +0100 | |
| commit | 78df9be5fc8222ed53846cb553de9b5d24c85c6c (patch) | |
| tree | f6dd89c1e5666a44b511ca53215736f0acc267ad /common | |
| parent | 149da9b53a7d16f6056337bfa0ed55f44466007a (diff) | |
| download | libusbmuxd-78df9be5fc8222ed53846cb553de9b5d24c85c6c.tar.gz libusbmuxd-78df9be5fc8222ed53846cb553de9b5d24c85c6c.tar.bz2 | |
common: Get rid of offsetof() and just use sizeof() to get size of unix socket address
Diffstat (limited to 'common')
| -rw-r--r-- | common/socket.c | 27 | 
1 files changed, 6 insertions, 21 deletions
| diff --git a/common/socket.c b/common/socket.c index 30b2b8c..1456d88 100644 --- a/common/socket.c +++ b/common/socket.c @@ -55,7 +55,6 @@ int socket_create_unix(const char *filename)  {  	struct sockaddr_un name;  	int sock; -	size_t size;  #ifdef SO_NOSIGPIPE  	int yes = 1;  #endif @@ -64,7 +63,7 @@ int socket_create_unix(const char *filename)  	unlink(filename);  	/* Create the socket. */ -	sock = socket(PF_LOCAL, SOCK_STREAM, 0); +	sock = socket(PF_UNIX, SOCK_STREAM, 0);  	if (sock < 0) {  		perror("socket");  		return -1; @@ -79,21 +78,11 @@ int socket_create_unix(const char *filename)  #endif  	/* Bind a name to the socket. */ -	name.sun_family = AF_LOCAL; +	name.sun_family = AF_UNIX;  	strncpy(name.sun_path, filename, sizeof(name.sun_path));  	name.sun_path[sizeof(name.sun_path) - 1] = '\0'; -	/* The size of the address is -	   the offset of the start of the filename, -	   plus its length, -	   plus one for the terminating null byte. -	   Alternatively you can just do: -	   size = SUN_LEN (&name); -	 */ -	size = (offsetof(struct sockaddr_un, sun_path) -			+ strlen(name.sun_path) + 1); - -	if (bind(sock, (struct sockaddr *) &name, size) < 0) { +	if (bind(sock, (struct sockaddr *) &name, sizeof(name)) < 0) {  		perror("bind");  		socket_close(sock);  		return -1; @@ -112,7 +101,6 @@ int socket_connect_unix(const char *filename)  {  	struct sockaddr_un name;  	int sfd = -1; -	size_t size;  	struct stat fst;  #ifdef SO_NOSIGPIPE  	int yes = 1; @@ -134,7 +122,7 @@ int socket_connect_unix(const char *filename)  		return -1;  	}  	// make a new socket -	if ((sfd = socket(PF_LOCAL, SOCK_STREAM, 0)) < 0) { +	if ((sfd = socket(PF_UNIX, SOCK_STREAM, 0)) < 0) {  		if (verbose >= 2)  			fprintf(stderr, "%s: socket: %s\n", __func__, strerror(errno));  		return -1; @@ -157,14 +145,11 @@ int socket_connect_unix(const char *filename)  #endif  	// and connect to 'filename' -	name.sun_family = AF_LOCAL; +	name.sun_family = AF_UNIX;  	strncpy(name.sun_path, filename, sizeof(name.sun_path));  	name.sun_path[sizeof(name.sun_path) - 1] = 0; -	size = (offsetof(struct sockaddr_un, sun_path) -			+ strlen(name.sun_path) + 1); - -	if (connect(sfd, (struct sockaddr *) &name, size) < 0) { +	if (connect(sfd, (struct sockaddr*)&name, sizeof(name)) < 0) {  		socket_close(sfd);  		if (verbose >= 2)  			fprintf(stderr, "%s: connect: %s\n", __func__, | 
