Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 27 Jul 2009 22:00:46 GMT
From:      Jonathan Anderson <jona@FreeBSD.org>
To:        Perforce Change Reviews <perforce@FreeBSD.org>
Subject:   PERFORCE change 166657 for review
Message-ID:  <200907272200.n6RM0kNt048301@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=166657

Change 166657 by jona@jona-trustedbsd-belle-vmware on 2009/07/27 22:00:14

	Receive one file descriptor at a time, not a set of file descriptors in one shot

Affected files ...

.. //depot/projects/trustedbsd/capabilities/src/lib/libuserangel/libuserangel.c#13 edit

Differences ...

==== //depot/projects/trustedbsd/capabilities/src/lib/libuserangel/libuserangel.c#13 (text+ko) ====

@@ -356,18 +356,17 @@
 
 	if(ua_unmarshall_int(fdcountd, len) < 0) return -1;
 
-	uint32_t fdcount = *len;
-	int32_t fdarray[fdcount];
-
-	struct ua_datum *fd_datum = ua_recv(angel, fdarray, &fdcount);
-	if(!fd_datum) return -1;
-	*len = fdcount;
-
 	int buflen = 1024;
 	char buffer[buflen];
-	for(unsigned int i = 0; i < fdcount; i++)
+	for(int i = 0; i < *len; i++)
 	{
-		fds[i] = fdarray[i];
+		int32_t fd;
+		uint32_t count = 1;
+
+		struct ua_datum *fd_datum = ua_recv(angel, &fd, &count);
+		if(!fd_datum) return -1;
+
+		fds[i] = fd;
 
 		int namelen = buflen;
 		if(ua_unmarshall_string(fd_datum, buffer, &namelen) < 0) return -1;



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