Module Name:    src
Committed By:   christos
Date:           Sat Nov  7 16:58:24 UTC 2015

Modified Files:
        src/include/rpc: svc.h
        src/lib/libc/rpc: svc_fdset.c

Log Message:
Put back NULL tests for allocation failures.


To generate a diff of this commit:
cvs rdiff -u -r1.27 -r1.28 src/include/rpc/svc.h
cvs rdiff -u -r1.6 -r1.7 src/lib/libc/rpc/svc_fdset.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/include/rpc/svc.h
diff -u src/include/rpc/svc.h:1.27 src/include/rpc/svc.h:1.28
--- src/include/rpc/svc.h:1.27	Fri Nov  6 14:42:57 2015
+++ src/include/rpc/svc.h	Sat Nov  7 11:58:24 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: svc.h,v 1.27 2015/11/06 19:42:57 christos Exp $	*/
+/*	$NetBSD: svc.h,v 1.28 2015/11/07 16:58:24 christos Exp $	*/
 
 /*
  * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
@@ -316,8 +316,8 @@ extern fd_set  *svc_fdset_copy(const fd_
 
 extern void	svc_fdset_zero(void);
 extern int	svc_fdset_isset(int);
-extern void	svc_fdset_clr(int);
-extern void	svc_fdset_set(int);
+extern int	svc_fdset_clr(int);
+extern int	svc_fdset_set(int);
 
 extern fd_set  *svc_fdset_get(void);
 extern int	svc_fdset_getsize(int);

Index: src/lib/libc/rpc/svc_fdset.c
diff -u src/lib/libc/rpc/svc_fdset.c:1.6 src/lib/libc/rpc/svc_fdset.c:1.7
--- src/lib/libc/rpc/svc_fdset.c:1.6	Fri Nov  6 22:06:32 2015
+++ src/lib/libc/rpc/svc_fdset.c	Sat Nov  7 11:58:24 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: svc_fdset.c,v 1.6 2015/11/07 03:06:32 christos Exp $	*/
+/*	$NetBSD: svc_fdset.c,v 1.7 2015/11/07 16:58:24 christos Exp $	*/
 
 /*-
  * Copyright (c) 2015 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__RCSID("$NetBSD: svc_fdset.c,v 1.6 2015/11/07 03:06:32 christos Exp $");
+__RCSID("$NetBSD: svc_fdset.c,v 1.7 2015/11/07 16:58:24 christos Exp $");
 
 
 #include "reentrant.h"
@@ -219,11 +219,14 @@ svc_fdset_zero(void)
 	fds->fdmax = -1;
 }
 
-void
+int
 svc_fdset_set(int fd)
 {
 	struct svc_fdset *fds = svc_fdset_alloc(fd);
 
+	if (fds == NULL)
+		return -1;
+
 	FD_SET(fd, fds->fdset);
 	if (fd > fds->fdmax)
 		fds->fdmax = fd;
@@ -231,6 +234,7 @@ svc_fdset_set(int fd)
 	DPRINTF_FDSET(fds, "%d", fd);
 
 	svc_fdset_sanitize(fds);
+	return 0;
 }
 
 int
@@ -238,20 +242,27 @@ svc_fdset_isset(int fd)
 {
 	struct svc_fdset *fds = svc_fdset_alloc(fd);
 
+	if (fds == NULL)
+		return -1;
+
 	DPRINTF_FDSET(fds, "%d", fd);
 
-	return FD_ISSET(fd, fds->fdset);
+	return FD_ISSET(fd, fds->fdset) != 0;
 }
 
-void
+int
 svc_fdset_clr(int fd)
 {
 	struct svc_fdset *fds = svc_fdset_alloc(fd);
 
+	if (fds == NULL)
+		return -1;
+
 	FD_CLR(fd, fds->fdset);
 	DPRINTF_FDSET(fds, "%d", fd);
 
 	svc_fdset_sanitize(fds);
+	return 0;
 }
 
 fd_set *
@@ -271,6 +282,9 @@ svc_fdset_get(void)
 {
 	struct svc_fdset *fds = svc_fdset_alloc(0);
 
+	if (fds == NULL)
+		return NULL;
+
 	DPRINTF_FDSET(fds, "get");
 	svc_fdset_sanitize(fds);
 	return fds->fdset;
@@ -281,6 +295,9 @@ svc_fdset_getmax(void)
 {
 	struct svc_fdset *fds = svc_fdset_alloc(0);
 
+	if (fds == NULL)
+		return NULL;
+
 	DPRINTF_FDSET(fds, "getmax");
 	svc_fdset_sanitize(fds);
 	return &fds->fdmax;
@@ -291,6 +308,9 @@ svc_fdset_getsize(int fd)
 {
 	struct svc_fdset *fds = svc_fdset_alloc(fd);
 
+	if (fds == NULL)
+		return -1;
+
 	DPRINTF_FDSET(fds, "getsize");
 	return fds->fdsize;
 }

Reply via email to