Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 6 Sep 2012 13:43:49 +0000 (UTC)
From:      Martin Matuska <mm@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r240162 - head/sys/cddl/compat/opensolaris/sys
Message-ID:  <201209061343.q86Dhn2r029111@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: mm
Date: Thu Sep  6 13:43:48 2012
New Revision: 240162
URL: http://svn.freebsd.org/changeset/base/240162

Log:
  Make r230454 more readable and vendor-like.
  
  PR:		kern/171380
  MFC after:	3 days

Modified:
  head/sys/cddl/compat/opensolaris/sys/sid.h

Modified: head/sys/cddl/compat/opensolaris/sys/sid.h
==============================================================================
--- head/sys/cddl/compat/opensolaris/sys/sid.h	Thu Sep  6 10:10:56 2012	(r240161)
+++ head/sys/cddl/compat/opensolaris/sys/sid.h	Thu Sep  6 13:43:48 2012	(r240162)
@@ -30,7 +30,8 @@
 #define	_OPENSOLARIS_SYS_SID_H_
 
 typedef struct ksiddomain {
-	char	kd_name[1];	/* Domain part of SID */
+	char	*kd_name;	/* Domain part of SID */
+	uint_t	kd_len;
 } ksiddomain_t;
 typedef void	ksid_t;
 
@@ -38,8 +39,12 @@ static __inline ksiddomain_t *
 ksid_lookupdomain(const char *domain)
 {
 	ksiddomain_t *kd;
+	size_t len;
 
-	kd = kmem_alloc(sizeof(*kd) + strlen(domain), KM_SLEEP);
+	len = strlen(domain) + 1;
+	kd = kmem_alloc(sizeof(*kd), KM_SLEEP);
+	kd->kd_len = (uint_t)len;
+	kd->kd_name = kmem_alloc(len, KM_SLEEP);
 	strcpy(kd->kd_name, domain);
 	return (kd);
 }
@@ -48,6 +53,7 @@ static __inline void
 ksiddomain_rele(ksiddomain_t *kd)
 {
 
+	kmem_free(kd->kd_name, kd->kd_len);
 	kmem_free(kd, sizeof(*kd));
 }
 



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