From owner-p4-projects@FreeBSD.ORG Wed Aug 27 09:43:06 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9319E16A500; Wed, 27 Aug 2003 09:43:06 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 50B6816A4FD for ; Wed, 27 Aug 2003 09:43:06 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B412C4400D for ; Wed, 27 Aug 2003 09:43:05 -0700 (PDT) (envelope-from cvance@nailabs.com) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h7RGh50U003680 for ; Wed, 27 Aug 2003 09:43:05 -0700 (PDT) (envelope-from cvance@nailabs.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h7RGh5qk003677 for perforce@freebsd.org; Wed, 27 Aug 2003 09:43:05 -0700 (PDT) Date: Wed, 27 Aug 2003 09:43:05 -0700 (PDT) Message-Id: <200308271643.h7RGh5qk003677@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cvance@nailabs.com using -f From: Chris Vance To: Perforce Change Reviews Subject: PERFORCE change 37030 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 27 Aug 2003 16:43:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=37030 Change 37030 by cvance@cvance_release on 2003/08/27 09:42:20 Sync context mangling code with the most recent SELinux distribution. Affected files ... .. //depot/projects/trustedbsd/sebsd/lib/libsebsd/context.c#2 edit Differences ... ==== //depot/projects/trustedbsd/sebsd/lib/libsebsd/context.c#2 (text+ko) ==== @@ -19,12 +19,12 @@ * 4 colon-separated components and no whitespace. */ context_t -context_new(char *str) +context_new(const char *str) { - int i,j,count,has_level; + int i,count; context_private_t *n = (context_private_t*) malloc(sizeof(context_private_t)); context_t result = (context_t) malloc(sizeof(context_s_t)); - char *p,*tok; + const char *p,*tok; if ( n == 0 || result == 0 ) { goto err; } n->current_str = n->component[0] = n->component[1] = n->component[2] = @@ -43,6 +43,8 @@ for ( i = 0, tok = str; *tok; i++ ) { for ( p = tok; *p && *p != ':'; p++ ) { /* empty */ } n->component[i] = (char*) malloc(p-tok+1); + if (n->component[i] == 0) + goto err; strncpy(n->component[i],tok,p-tok); n->component[i][p-tok] = '\0'; tok = *p ? p+1 : p; @@ -116,10 +118,10 @@ /* Returns nonzero iff failed */ -static int set_comp(context_private_t* n,int index,char *str) +static int set_comp(context_private_t* n,int index, const char *str) { char *t = (char*) malloc(strlen(str)+1); - char *p; + const char *p; if ( !t ) { return 1; } for ( p = str; *p; p++ ) { if ( *p == '\t' || *p == ' ' || *p == '\n' || *p == '\r' || @@ -135,7 +137,7 @@ } #define def_get(name,tag) \ -char * context_ ## name ## _get(context_t context) \ +const char * context_ ## name ## _get(context_t context) \ { \ context_private_t *n = context->ptr; \ return n->component[tag]; \ @@ -147,7 +149,7 @@ def_get(role,COMP_ROLE) #define def_set(name,tag) \ -int context_ ## name ## _set(context_t context, char* str) \ +int context_ ## name ## _set(context_t context, const char* str) \ { \ return set_comp(context->ptr,tag,str);\ } @@ -156,7 +158,7 @@ def_set(role,COMP_ROLE) def_set(user,COMP_USER) -int context_range_set(context_t context,char* str) +int context_range_set(context_t context,const char* str) { context_private_t *n = context->ptr; if ( ! n->component[COMP_RANGE] ) {