From 414f6c35a62a7e72f40c39089a9952913a7eeb90 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Sun, 5 Jul 2020 02:32:44 +0200 Subject: pflocal: return ENOTCONN on get/setpot(SO_SNDBUF) on unconnected socket EPIPE would raise SIGPIPE, which applications do not expect to happen on a mere get/setsockopt. * pflocal/socket.c (S_socket_getopt, S_socket_setopt): Return ENOTCONN instead of EPIPE. --- pflocal/socket.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pflocal/socket.c b/pflocal/socket.c index 2baa1efe..8f90da2d 100644 --- a/pflocal/socket.c +++ b/pflocal/socket.c @@ -466,7 +466,7 @@ S_socket_getopt (struct sock_user *user, pipe = sock->read_pipe; if (!pipe) { - ret = EPIPE; + ret = ENOTCONN; break; } *(int *)*value = pipe->write_limit; @@ -481,7 +481,7 @@ S_socket_getopt (struct sock_user *user, pipe = sock->write_pipe; if (!pipe) { - ret = EPIPE; + ret = ENOTCONN; break; } *(int *)*value = pipe->write_limit; @@ -560,7 +560,7 @@ S_socket_setopt (struct sock_user *user, pipe = sock->read_pipe; if (!pipe) { - ret = EPIPE; + ret = ENOTCONN; break; } @@ -594,7 +594,7 @@ S_socket_setopt (struct sock_user *user, pipe = sock->write_pipe; if (!pipe) { - ret = EPIPE; + ret = ENOTCONN; break; } -- cgit v1.2.3