svn commit: r240258 - stable/9/sys/cddl/compat/opensolaris/sys
Martin Matuska
mm at FreeBSD.org
Sun Sep 9 07:38:16 UTC 2012
Author: mm
Date: Sun Sep 9 07:38:15 2012
New Revision: 240258
URL: http://svn.freebsd.org/changeset/base/240258
Log:
MFC r240162:
Make r230454 more readable and vendor-like.
PR: kern/171380
Modified:
stable/9/sys/cddl/compat/opensolaris/sys/sid.h
Directory Properties:
stable/9/sys/ (props changed)
Modified: stable/9/sys/cddl/compat/opensolaris/sys/sid.h
==============================================================================
--- stable/9/sys/cddl/compat/opensolaris/sys/sid.h Sun Sep 9 07:23:15 2012 (r240257)
+++ stable/9/sys/cddl/compat/opensolaris/sys/sid.h Sun Sep 9 07:38:15 2012 (r240258)
@@ -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));
}
More information about the svn-src-stable-9
mailing list