PERFORCE change 177355 for review

Jonathan Anderson jona at FreeBSD.org
Mon Apr 26 14:47:34 UTC 2010


http://p4web.freebsd.org/@@177355?ac=10

Change 177355 by jona at jona-belle-freebsd8 on 2010/04/26 14:46:57

	Added lc_fdlist_print()

Affected files ...

.. //depot/projects/trustedbsd/capabilities/src/lib/libcapsicum/libcapsicum.h#14 edit
.. //depot/projects/trustedbsd/capabilities/src/lib/libcapsicum/libcapsicum_fdlist.c#12 edit

Differences ...

==== //depot/projects/trustedbsd/capabilities/src/lib/libcapsicum/libcapsicum.h#14 (text+ko) ====

@@ -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.h#13 $
+ * $P4: //depot/projects/trustedbsd/capabilities/src/lib/libcapsicum/libcapsicum.h#14 $
  */
 
 #ifndef _LIBCAPSICUM_H_
@@ -52,6 +52,7 @@
 struct lc_fdlist	*lc_fdlist_global(void);
 struct lc_fdlist	*lc_fdlist_dup(struct lc_fdlist *lfp_orig);
 void			 lc_fdlist_free(struct lc_fdlist *lfp);
+void			 lc_fdlist_print(struct lc_fdlist *lfp, int outFD);
 
 /*
  * Size of an FD list in bytes, including all associated string data.

==== //depot/projects/trustedbsd/capabilities/src/lib/libcapsicum/libcapsicum_fdlist.c#12 (text+ko) ====

@@ -31,12 +31,13 @@
  * 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#11 $
+ * $P4: //depot/projects/trustedbsd/capabilities/src/lib/libcapsicum/libcapsicum_fdlist.c#12 $
  */
 
 #include <sys/mman.h>
 #include <sys/stat.h>
 
+#define _WITH_DPRINTF
 #include <errno.h>
 #include <libcapsicum.h>
 #include <pthread.h>
@@ -202,6 +203,24 @@
 	free(lfp);
 }
 
+void
+lc_fdlist_print(struct lc_fdlist *lfp, int outFD)
+{
+	dprintf(outFD, "FD List:\n");
+	for(int i = 0; ; )
+	{
+		char *subsystem, *classname, *name;
+		int fd;
+
+		if (lc_fdlist_getentry(lfp, &subsystem, &classname, &name, &fd, &i)
+		     < 0)
+			break;
+
+		dprintf(outFD, "% 3d:\t'%s'.'%s': '%s'\n",
+		        fd, subsystem, classname, name);
+	}
+}
+
 int
 lc_fdlist_add(struct lc_fdlist *lfp, const char *subsystem,
     const char *classname, const char *name, int fd)
@@ -248,7 +267,6 @@
 			memcpy(lc_fdlist_storage_names(lfsp_copy), tmp,
 			    lfsp_copy->namelen);
 
-		free(lfsp);
 		lfsp = lfp->lf_storage = lfsp_copy;
 		free(tmp);
 	}


More information about the p4-projects mailing list