diff --git a/Common/GmshSocket.h b/Common/GmshSocket.h index d6b251c96ca1f203a2baf00d7ff7a57b4a08e312..3f355c7ea7b4d36e748e8b7ab2f073bf8089deb5 100644 --- a/Common/GmshSocket.h +++ b/Common/GmshSocket.h @@ -303,8 +303,10 @@ class GmshServer : public GmshSocket{ memset((char *) &addr_un, 0, sizeof(addr_un)); strcpy(addr_un.sun_path, _sockname); addr_un.sun_family = AF_UNIX; - if(bind(tmpsock, (struct sockaddr *)&addr_un, sizeof(addr_un)) < 0) + if(bind(tmpsock, (struct sockaddr *)&addr_un, sizeof(addr_un)) < 0){ + CloseSocket(tmpsock); return -2; // Error: Couldn't bind socket to name + } // change permissions on the socket name in case it has to be rm'd later chmod(_sockname, 0666); #else diff --git a/utils/solvers/c++/GmshSocket.h b/utils/solvers/c++/GmshSocket.h index d6b251c96ca1f203a2baf00d7ff7a57b4a08e312..3f355c7ea7b4d36e748e8b7ab2f073bf8089deb5 100644 --- a/utils/solvers/c++/GmshSocket.h +++ b/utils/solvers/c++/GmshSocket.h @@ -303,8 +303,10 @@ class GmshServer : public GmshSocket{ memset((char *) &addr_un, 0, sizeof(addr_un)); strcpy(addr_un.sun_path, _sockname); addr_un.sun_family = AF_UNIX; - if(bind(tmpsock, (struct sockaddr *)&addr_un, sizeof(addr_un)) < 0) + if(bind(tmpsock, (struct sockaddr *)&addr_un, sizeof(addr_un)) < 0){ + CloseSocket(tmpsock); return -2; // Error: Couldn't bind socket to name + } // change permissions on the socket name in case it has to be rm'd later chmod(_sockname, 0666); #else