The UNIX sockets were using SOCK_STREAM, which does not preserve the
message boundaries. This switches to SOCK_SEQPACKET, since that does
preserve the boundaries.
Signed-off-by: Sander Vrijders <sander.vrijders@xxxxxxxx>
---
src/lib/sockets.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/lib/sockets.c b/src/lib/sockets.c
index 9e5bbe1..6e7d4ad 100644
--- a/src/lib/sockets.c
+++ b/src/lib/sockets.c
@@ -38,7 +38,7 @@ int client_socket_open(char * file_name)
int sockfd;
struct sockaddr_un serv_addr;
- sockfd = socket(AF_UNIX, SOCK_STREAM, 0);
+ sockfd = socket(AF_UNIX, SOCK_SEQPACKET, 0);
if (sockfd < 0)
return -1;
@@ -66,7 +66,7 @@ int server_socket_open(char * file_name)
return -1;
}
- sockfd = socket(AF_UNIX, SOCK_STREAM, 0);
+ sockfd = socket(AF_UNIX, SOCK_SEQPACKET, 0);
if (sockfd < 0)
return -1;
--
2.16.2