Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
DISCONTINUED:openSUSE:11.2:Update
sblim-sfcb
0240-msgqueue_unlink.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0240-msgqueue_unlink.patch of Package sblim-sfcb
diff -up ./msgqueue.c.orig ./msgqueue.c --- ./msgqueue.c.orig 2008-11-24 17:18:29.000000000 -0700 +++ ./msgqueue.c 2008-11-25 10:01:59.000000000 -0700 @@ -622,7 +622,7 @@ int getControlChars(char *id, char **val void stopLocalConnectServer() { - static struct sockaddr_un *serverAddr; + struct sockaddr_un serverAddr; int sock,size=0; unsigned long int l; char *path; @@ -636,13 +636,10 @@ void stopLocalConnectServer() return; } - socklen_t serverAddrLen = offsetof(struct sockaddr_un, sun_path) + - strlen(path) + 1; - serverAddr = alloca(serverAddrLen); - serverAddr->sun_family=AF_UNIX; - strcpy(serverAddr->sun_path,path); + serverAddr.sun_family=AF_UNIX; + strncpy(serverAddr.sun_path,path, sizeof(serverAddr.sun_path)); - if (connect(sock,(const struct sockaddr*)serverAddr, serverAddrLen)<0) { + if (connect(sock,(const struct sockaddr*)&serverAddr, sizeof(serverAddr))<0) { perror("connect error"); return; } @@ -653,7 +650,7 @@ void stopLocalConnectServer() void localConnectServer() { - static struct sockaddr_un clientAddr,*serverAddr; + struct sockaddr_un clientAddr,serverAddr; int nsocket,ssocket; unsigned int cl, notDone=1; char *path,cMsg[264]; @@ -676,14 +673,11 @@ void localConnectServer() return; } - socklen_t serverAddrLen = offsetof(struct sockaddr_un, sun_path) + - strlen(path) + 1; - serverAddr = alloca(serverAddrLen); - serverAddr->sun_family=AF_UNIX; - strncpy(serverAddr->sun_path,path,sizeof(serverAddr->sun_path)); + serverAddr.sun_family=AF_UNIX; + strncpy(serverAddr.sun_path,path,sizeof(serverAddr.sun_path)); unlink(path); - if (bind(ssocket,(const struct sockaddr*)serverAddr, serverAddrLen)<0) { + if (bind(ssocket,(const struct sockaddr*)&serverAddr, sizeof(serverAddr))<0) { perror("bind error"); return; } @@ -694,12 +688,12 @@ void localConnectServer() do { // sfcbSockets.send; cl=sizeof(clientAddr); - if ((nsocket=accept(ssocket,(struct sockaddr*)serverAddr,&cl))<0) { + if ((nsocket=accept(ssocket,(struct sockaddr*)&clientAddr,&cl))<0) { perror("accept error"); /* Being interrupted isn't necessarily bad; try once more */ if (errno == EINTR) { - if ((nsocket=accept(ssocket,(struct sockaddr*)serverAddr,&cl))<0) { + if ((nsocket=accept(ssocket,(struct sockaddr*)&clientAddr,&cl))<0) { perror("accept error (2)"); return; }
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