From 23c4441434db022763841f3a389b21561a812112 Mon Sep 17 00:00:00 2001 From: vsc Date: Sat, 5 Jan 2002 07:00:19 +0000 Subject: [PATCH] open_socket would crash if it could not open a new stream git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@272 b08c6af1-5177-4d33-ba66-4b1c6b8b522a --- C/iopreds.c | 6 ++++-- C/ypsocks.c | 2 ++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/C/iopreds.c b/C/iopreds.c index 40bb68b17..3f4019112 100644 --- a/C/iopreds.c +++ b/C/iopreds.c @@ -1426,8 +1426,10 @@ InitSocketStream(int fd, socket_info flags, socket_domain domain) { for (sno = 0; sno < MaxStreams; ++sno) if (Stream[sno].status & Free_Stream_f) break; - if (sno == MaxStreams) - return (PlIOError (SYSTEM_ERROR,TermNil, "new stream not available for socket/4")); + if (sno == MaxStreams) { + PlIOError (SYSTEM_ERROR,TermNil, "new stream not available for socket/4"); + return(TermNil); + } st = &Stream[sno]; st->u.socket.domain = domain; st->u.socket.flags = flags; diff --git a/C/ypsocks.c b/C/ypsocks.c index 6211cc8ce..a534e61f8 100644 --- a/C/ypsocks.c +++ b/C/ypsocks.c @@ -454,6 +454,7 @@ p_socket(void) #endif return(FALSE); } + if (out == TermNil) return(FALSE); return(unify(out,ARG4)); } @@ -897,6 +898,7 @@ p_socket_accept(void) out = InitSocketStream(fd, server_session_socket, af_inet ); } else return(FALSE); + if (out == TermNil) return(FALSE); return(unify(out,ARG3)); }