From 963a10e15afd0247f9dd562c2a4176152c958c7d Mon Sep 17 00:00:00 2001 From: Thomas Veerman Date: Wed, 18 Jul 2012 10:05:50 +0000 Subject: [PATCH] PFS: fix negative array index --- servers/pfs/dev_uds.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/servers/pfs/dev_uds.c b/servers/pfs/dev_uds.c index b57e2c657..d5e9a2127 100644 --- a/servers/pfs/dev_uds.c +++ b/servers/pfs/dev_uds.c @@ -551,10 +551,13 @@ static int uds_perform_write(int minor, endpoint_t m_source, break; } } + } - if (peer == -1) { - return ENOENT; - } + if (peer == -1) { + if (pretend) + return SUSPEND; + + return ENOENT; } /* check if write would overrun buffer. check if message @@ -565,7 +568,7 @@ static int uds_perform_write(int minor, endpoint_t m_source, if ((uds_fd_table[peer].pos+uds_fd_table[peer].size+size > PIPE_BUF) || ((uds_fd_table[minor].type == SOCK_SEQPACKET || uds_fd_table[minor].type == SOCK_DGRAM) && - uds_fd_table[peer].size > 0) || (peer == -1)) { + uds_fd_table[peer].size > 0)) { if (pretend) { return SUSPEND; -- 2.44.0