diff --git a/attach.c b/attach.c index 8137130..a4ae626 100644 --- a/attach.c +++ b/attach.c @@ -52,6 +52,12 @@ connect_socket(char *name) int s; struct sockaddr_un sockun; + if (strlen(name) > sizeof(sockun.sun_path) - 1) + { + errno = ENAMETOOLONG; + return -1; + } + s = socket(PF_UNIX, SOCK_STREAM, 0); if (s < 0) return -1; diff --git a/master.c b/master.c index 9f51da0..86195d1 100644 --- a/master.c +++ b/master.c @@ -185,6 +185,12 @@ create_socket(char *name) int s; struct sockaddr_un sockun; + if (strlen(name) > sizeof(sockun.sun_path) - 1) + { + errno = ENAMETOOLONG; + return -1; + } + s = socket(PF_UNIX, SOCK_STREAM, 0); if (s < 0) return -1;