Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 30 Jan 2010 20:38:39 +0000 (UTC)
From:      Robert Watson <rwatson@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r203247 - projects/capabilities8/lib/libcapsicum
Message-ID:  <201001302038.o0UKcda0002111@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: rwatson
Date: Sat Jan 30 20:38:39 2010
New Revision: 203247
URL: http://svn.freebsd.org/changeset/base/203247

Log:
  Merge c173856 from the p4 TrustedBSD Capabilities branch to capabilities8:
  
    Aded lc_fdlist_global() and tests, although there is no implementation.
  
  Submitted by:	Jonathan Anderson <jonathan.anderson at cl.cam.ac.uk>

Modified:
  projects/capabilities8/lib/libcapsicum/libcapsicum_fdlist.c

Modified: projects/capabilities8/lib/libcapsicum/libcapsicum_fdlist.c
==============================================================================
--- projects/capabilities8/lib/libcapsicum/libcapsicum_fdlist.c	Sat Jan 30 20:37:47 2010	(r203246)
+++ projects/capabilities8/lib/libcapsicum/libcapsicum_fdlist.c	Sat Jan 30 20:38:39 2010	(r203247)
@@ -30,7 +30,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $P4: //depot/projects/trustedbsd/capabilities/src/lib/libcapsicum/libcapsicum_fdlist.c#1 $
+ * $P4: //depot/projects/trustedbsd/capabilities/src/lib/libcapsicum/libcapsicum_fdlist.c#2 $
  */
 
 #include <errno.h>
@@ -81,6 +81,16 @@ char*	lc_fdlist_names(struct lc_fdlist *
 
 
 
+struct lc_fdlist *global_fdlist = NULL;
+
+
+struct lc_fdlist*
+lc_fdlist_global(void) {
+
+	return global_fdlist;
+}
+
+
 #define INITIAL_ENTRIES		16
 #define INITIAL_NAMEBYTES	(64 * INITIAL_ENTRIES)
 
@@ -143,6 +153,12 @@ lc_fdlist_add(struct lc_fdlist **fdlist,
 
 	struct lc_fdlist *l = *fdlist;
 
+	if (l == NULL) {
+
+		errno = EINVAL;
+		return -1;
+	}
+
 	LOCK(l);
 
 	/* do we need more entry space? */
@@ -258,6 +274,11 @@ lc_fdlist_lookup(struct lc_fdlist *l,
                  const char *subsystem, const char *id, char **name, int *fdp,
                  int *pos) {
 
+	if (l == NULL) {
+		errno = EINVAL;
+		return -1;
+	}
+
 	LOCK(l);
 
 	int successful = 0;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201001302038.o0UKcda0002111>