diff options
-rw-r--r-- | pfinet/socket-ops.c | 14 | ||||
-rw-r--r-- | pflocal/pf.c | 2 |
2 files changed, 9 insertions, 7 deletions
diff --git a/pfinet/socket-ops.c b/pfinet/socket-ops.c index 02675425..b4172dc4 100644 --- a/pfinet/socket-ops.c +++ b/pfinet/socket-ops.c @@ -51,12 +51,14 @@ S_socket_create (struct trivfs_protid *master, /* Don't allow bogus SOCK_PACKET here. */ - if ((sock_type != SOCK_STREAM - && sock_type != SOCK_DGRAM - && sock_type != SOCK_SEQPACKET - && sock_type != SOCK_RAW) - || protocol < 0) - return EINVAL; + if (sock_type != SOCK_STREAM + && sock_type != SOCK_DGRAM + && sock_type != SOCK_SEQPACKET + && sock_type != SOCK_RAW) + return EPROTOTYPE; + + if (protocol < 0) + return EPROTONOSUPPORT; __mutex_lock (&global_lock); diff --git a/pflocal/pf.c b/pflocal/pf.c index 32c12e17..55824d41 100644 --- a/pflocal/pf.c +++ b/pflocal/pf.c @@ -65,7 +65,7 @@ S_socket_create (mach_port_t pf, case SOCK_SEQPACKET: pipe_class = seqpack_pipe_class; break; default: - return ESOCKTNOSUPPORT; + return EPROTOTYPE; } err = sock_create (pipe_class, mode, &sock); |