Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 17 Aug 2008 03:25:55 GMT
From:      Diego Giagio <diego@FreeBSD.org>
To:        Perforce Change Reviews <perforce@FreeBSD.org>
Subject:   PERFORCE change 147627 for review
Message-ID:  <200808170325.m7H3PtaD032221@repoman.freebsd.org>

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

Change 147627 by diego@diego_black on 2008/08/17 03:25:19

	Forgot to submit changes to audit_arg.c and to remove audit_pfil.c on
	last commit.

Affected files ...

.. //depot/projects/soc2008/diego-audit/src/sys/security/audit/audit_arg.c#5 edit
.. //depot/projects/soc2008/diego-audit/src/sys/security/audit/audit_pfil.c#11 delete

Differences ...

==== //depot/projects/soc2008/diego-audit/src/sys/security/audit/audit_arg.c#5 (text) ====

@@ -35,6 +35,7 @@
 #include <sys/ipc.h>
 #include <sys/mount.h>
 #include <sys/proc.h>
+#include <sys/sbuf.h>
 #include <sys/socket.h>
 #include <sys/socketvar.h>
 #include <sys/protosw.h>
@@ -44,6 +45,8 @@
 #include <sys/un.h>
 #include <sys/vnode.h>
 
+#include <machine/stdarg.h>
+
 #include <netinet/in.h>
 #include <netinet/in_pcb.h>
 
@@ -753,10 +756,18 @@
 }
 
 void
-audit_record_arg_text(struct kaudit_record *ar, char *text)
+audit_arg_text(char *text, ...)
 {
-	KASSERT(ar != NULL, ("audit_record_arg_text: ar == NULL"));
-	KASSERT(text != NULL, ("audit_record_arg_text: text == NULL"));
+	struct kaudit_record *ar;
+	struct sbuf sb;
+	va_list ap;
+
+	ar = currecord();
+	if (ar == NULL)
+		return;
+
+	KASSERT(ar != NULL, ("audit_arg_text: ar == NULL"));
+	KASSERT(text != NULL, ("audit_arg_text: text == NULL"));
 
 	/* Invalidate the text string */
 	ar->k_ar.ar_valid_arg &= (ARG_ALL ^ ARG_TEXT);
@@ -765,23 +776,16 @@
 		ar->k_ar.ar_arg_text = malloc(MAXPATHLEN, M_AUDITTEXT,
 		    M_WAITOK);
 
-	strncpy(ar->k_ar.ar_arg_text, text, MAXPATHLEN);
+	sbuf_new(&sb, ar->k_ar.ar_arg_text, MAXPATHLEN, SBUF_FIXEDLEN);
+	va_start(ap, text);
+	sbuf_vprintf(&sb, text, ap);
+	va_end(ap);
+	sbuf_finish(&sb);
+	sbuf_delete(&sb);
 	ARG_SET_VALID(ar, ARG_TEXT);
 }
 
 void
-audit_arg_text(char *text)
-{
-	struct kaudit_record *ar;
-
-	ar = currecord();
-	if (ar == NULL)
-		return;
-
-	audit_record_arg_text(ar, text);
-}
-
-void
 audit_record_arg_cmd(struct kaudit_record *ar, int cmd)
 {
 	KASSERT(ar != NULL, ("audit_record_arg_cmd: ar == NULL"));



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