Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:15.2:Update
nanomsg
strict.diff
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File strict.diff of Package nanomsg
From: Jan Engelhardt <jengelh@inai.de> Date: 2017-04-28 22:38:15.425823291 +0200 Rewrite section that invokes undefined behavior. src/aio/usock_posix.inc: In function 'nn_usock_recv_raw': src/aio/usock_posix.inc:1143:21: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] *self->in.pfd = *((int*) CMSG_DATA (cmsg)); ^ cd build/src && /usr/bin/cc -DNN_HAVE_ACCEPT4=1 -DNN_HAVE_BACKTRACE=1 -DNN_HAVE_CLOCK_GETTIME=1 -DNN_HAVE_CLOCK_MONOTONIC=1 -DNN_HAVE_EPOLL=1 -DNN_HAVE_EVENTFD=1 -DNN_HAVE_GCC_ATOMIC_BUILTINS -DNN_HAVE_GETADDRINFO_A=1 -DNN_HAVE_LIBNSL=1 -DNN_HAVE_LINUX -DNN_HAVE_MSG_CONTROL=1 -DNN_HAVE_PIPE2=1 -DNN_HAVE_PIPE=1 -DNN_HAVE_POLL=1 -DNN_HAVE_SEMAPHORE -DNN_HAVE_SEMAPHORE_PTHREAD=1 -DNN_HAVE_SOCKETPAIR=1 -DNN_HAVE_UNIX_SOCKETS=1 -DNN_SHARED_LIB -DNN_USE_EPOLL -DNN_USE_EVENTFD -D_GNU_SOURCE -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT -D_THREAD_SAFE -Dnanomsg_EXPORTS -fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -g -DNDEBUG -O2 -g -DNDEBUG -fPIC -o CMakeFiles/nanomsg.dir/utils/chunk.c.o -c src/utils/chunk.c src/aio/usock_posix.inc:1147:21: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] nn_closefd (*((int*) CMSG_DATA (cmsg))); ^~~~~~~~~~ --- src/aio/usock_posix.inc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) Index: nanomsg-1.0.0/src/aio/usock_posix.inc =================================================================== --- nanomsg-1.0.0.orig/src/aio/usock_posix.inc +++ nanomsg-1.0.0/src/aio/usock_posix.inc @@ -1140,11 +1140,13 @@ static int nn_usock_recv_raw (struct nn_ while (cmsg) { if (cmsg->cmsg_level == SOL_SOCKET && cmsg->cmsg_type == SCM_RIGHTS) { if (self->in.pfd) { - *self->in.pfd = *((int*) CMSG_DATA (cmsg)); + memcpy(self->in.pfd, CMSG_DATA(cmsg), sizeof(int)); self->in.pfd = NULL; } else { - nn_closefd (*((int*) CMSG_DATA (cmsg))); + int tmp; + memcpy(&tmp, CMSG_DATA(cmsg), sizeof(tmp)); + nn_closefd(tmp); } break; }
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor