[sr-dev] git:master:63d63cb8: cdp: fix compiler warnings
Victor Seva
linuxmaniac at torreviejawireless.org
Mon Jan 16 11:13:22 CET 2017
Module: kamailio
Branch: master
Commit: 63d63cb86f9fa5dc0c3c51d4161d31cbd92832d4
URL: https://github.com/kamailio/kamailio/commit/63d63cb86f9fa5dc0c3c51d4161d31cbd92832d4
Author: Victor Seva <linuxmaniac at torreviejawireless.org>
Committer: Victor Seva <linuxmaniac at torreviejawireless.org>
Date: 2017-01-16T11:11:52+01:00
cdp: fix compiler warnings
> receiver.c: In function 'send_fd':
> receiver.c:287:2: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
> *(int*)CMSG_DATA(cmsg)=fd;
> ^
> receiver.c: In function 'receive_fd':
> receiver.c:385:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
> *fd=*((int*) CMSG_DATA(cmsg));
> ^
---
Modified: src/modules/cdp/receiver.c
---
Diff: https://github.com/kamailio/kamailio/commit/63d63cb86f9fa5dc0c3c51d4161d31cbd92832d4.diff
Patch: https://github.com/kamailio/kamailio/commit/63d63cb86f9fa5dc0c3c51d4161d31cbd92832d4.patch
---
diff --git a/src/modules/cdp/receiver.c b/src/modules/cdp/receiver.c
index 10660d2..a572384 100644
--- a/src/modules/cdp/receiver.c
+++ b/src/modules/cdp/receiver.c
@@ -266,6 +266,7 @@ static int send_fd(int pipe_fd,int fd, peer *p)
struct msghdr msg;
struct iovec iov[1];
int ret;
+ int *tmp = NULL;
#ifdef HAVE_MSGHDR_MSG_CONTROL
struct cmsghdr* cmsg;
@@ -284,7 +285,8 @@ static int send_fd(int pipe_fd,int fd, peer *p)
cmsg->cmsg_level = SOL_SOCKET;
cmsg->cmsg_type = SCM_RIGHTS;
cmsg->cmsg_len = CMSG_LEN(sizeof(fd));
- *(int*)CMSG_DATA(cmsg)=fd;
+ tmp = (int*)CMSG_DATA(cmsg);
+ *tmp = fd;
msg.msg_flags=0;
#else
msg.msg_accrights=(caddr_t) &fd;
@@ -328,6 +330,7 @@ static int receive_fd(int pipe_fd, int* fd,peer **p)
struct iovec iov[1];
int new_fd;
int ret;
+ int *tmp = NULL;
#ifdef HAVE_MSGHDR_MSG_CONTROL
struct cmsghdr* cmsg;
@@ -382,7 +385,8 @@ static int receive_fd(int pipe_fd, int* fd,peer **p)
LM_ERR("receive_fd: msg level != SOL_SOCKET\n");
goto error;
}
- *fd=*((int*) CMSG_DATA(cmsg));
+ tmp = (int*)CMSG_DATA(cmsg);
+ *fd = *tmp;
}else{
if(!cmsg)
LM_ERR("receive_fd: no descriptor passed, empty control message");
More information about the sr-dev
mailing list