- Fixes found via intel compiler
This commit is contained in:
parent
57d5dcc902
commit
59566c25a2
@ -1,110 +1,24 @@
|
|||||||
diff --exclude-from=exclude -N -u -r nsalibsepol/src/genbools.c libsepol-1.5.2/src/genbools.c
|
diff --exclude-from=exclude -N -u -r nsalibsepol/src/genbools.c libsepol-1.5.5/src/genbools.c
|
||||||
--- nsalibsepol/src/genbools.c 2005-03-08 15:15:26.000000000 -0500
|
--- nsalibsepol/src/genbools.c 2005-03-29 21:55:26.000000000 -0500
|
||||||
+++ libsepol-1.5.2/src/genbools.c 2005-03-29 10:20:54.000000000 -0500
|
+++ libsepol-1.5.5/src/genbools.c 2005-04-25 15:25:55.000000000 -0400
|
||||||
@@ -24,11 +24,40 @@
|
@@ -195,7 +195,7 @@
|
||||||
return dest;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
+static int process_boolean(char *buffer, char *name, int namesize, int *val) {
|
if (evaluate_conds(&policydb) < 0) {
|
||||||
+ char name1[BUFSIZ];
|
- __sepol_debug_printf("%s: Error while re-evaluating conditionals: %s\n",
|
||||||
+ char *ptr;
|
+ __sepol_debug_printf("%s: Error while re-evaluating conditionals\n",
|
||||||
+ char *tok=strtok_r(buffer,"=",&ptr);
|
__FUNCTION__);
|
||||||
+ if (tok) {
|
|
||||||
+ strncpy(name1,tok, BUFSIZ-1);
|
|
||||||
+ strtrim(name,name1,namesize-1);
|
|
||||||
+ if ( name[0]=='#' ) return 0;
|
|
||||||
+ tok=strtok_r(NULL,"\0",&ptr);
|
|
||||||
+ if (tok) {
|
|
||||||
+ while (isspace(*tok)) tok++;
|
|
||||||
+ *val = -1;
|
|
||||||
+ if (isdigit(tok[0]))
|
|
||||||
+ *val=atoi(tok);
|
|
||||||
+ else if (!strncmp(tok, "true", sizeof("true")-1))
|
|
||||||
+ *val = 1;
|
|
||||||
+ else if (!strncmp(tok, "false", sizeof("false")-1))
|
|
||||||
+ *val = 0;
|
|
||||||
+ if (*val != 0 && *val != 1) {
|
|
||||||
+ fprintf(stderr,"illegal value for boolean %s=%s\n", name, tok);
|
|
||||||
+ return -1;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ return 1;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
static int load_booleans(struct policydb *policydb, char *path) {
|
|
||||||
FILE *boolf;
|
|
||||||
- char buffer[BUFSIZ];
|
|
||||||
+ char *buffer=NULL;
|
|
||||||
+ size_t size=0;
|
|
||||||
+ char localbools[BUFSIZ];
|
|
||||||
char name[BUFSIZ];
|
|
||||||
- char name1[BUFSIZ];
|
|
||||||
int val;
|
|
||||||
int errors=0;
|
|
||||||
struct cond_bool_datum *datum;
|
|
||||||
@@ -37,28 +66,29 @@
|
|
||||||
if (boolf == NULL)
|
|
||||||
return -1;
|
|
||||||
|
|
||||||
- while (fgets(buffer, sizeof(buffer), boolf)) {
|
|
||||||
- char *tok=strtok(buffer,"=");
|
|
||||||
- if (tok) {
|
|
||||||
- strncpy(name1,tok, BUFSIZ-1);
|
|
||||||
- strtrim(name,name1,BUFSIZ-1);
|
|
||||||
- if ( name[0]=='#' ) continue;
|
|
||||||
- tok=strtok(NULL,"\0");
|
|
||||||
- if (tok) {
|
|
||||||
- while (isspace(*tok)) tok++;
|
|
||||||
- val = -1;
|
|
||||||
- if (isdigit(tok[0]))
|
|
||||||
- val=atoi(tok);
|
|
||||||
- else if (!strncasecmp(tok, "true", sizeof("true")-1))
|
|
||||||
- val = 1;
|
|
||||||
- else if (!strncasecmp(tok, "false", sizeof("false")-1))
|
|
||||||
- val = 0;
|
|
||||||
- if (val != 0 && val != 1) {
|
|
||||||
- fprintf(stderr,"illegal value for boolean %s=%s\n", name, tok);
|
|
||||||
- errors++;
|
|
||||||
- continue;
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
+ while (getline(&buffer, &size, boolf) > 0) {
|
|
||||||
+ int ret=process_boolean(buffer, name, sizeof(name), &val);
|
|
||||||
+ if (ret==-1)
|
|
||||||
+ errors++;
|
|
||||||
+ if (ret==1) {
|
|
||||||
+ datum = hashtab_search(policydb->p_bools.table, name);
|
|
||||||
+ if (!datum) {
|
|
||||||
+ fprintf(stderr,"unknown boolean %s\n", name);
|
|
||||||
+ errors++;
|
|
||||||
+ continue;
|
|
||||||
+ }
|
|
||||||
+ datum->state = val;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ fclose(boolf);
|
|
||||||
+ snprintf(localbools,sizeof(localbools), "%s.local", path);
|
|
||||||
+ boolf = fopen(localbools,"r");
|
|
||||||
+ if (boolf != NULL) {
|
|
||||||
+ while (getline(&buffer, &size, boolf) > 0) {
|
|
||||||
+ int ret=process_boolean(buffer, name, sizeof(name), &val);
|
|
||||||
+ if (ret==-1)
|
|
||||||
+ errors++;
|
|
||||||
+ if (ret==1) {
|
|
||||||
datum = hashtab_search(policydb->p_bools.table, name);
|
|
||||||
if (!datum) {
|
|
||||||
fprintf(stderr,"unknown boolean %s\n", name);
|
|
||||||
@@ -68,9 +98,9 @@
|
|
||||||
datum->state = val;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+ fclose(boolf);
|
|
||||||
}
|
|
||||||
- fclose(boolf);
|
|
||||||
-
|
|
||||||
+ free(buffer);
|
|
||||||
if (errors)
|
|
||||||
errno = EINVAL;
|
errno = EINVAL;
|
||||||
|
goto err;
|
||||||
|
diff --exclude-from=exclude -N -u -r nsalibsepol/src/hierarchy.c libsepol-1.5.5/src/hierarchy.c
|
||||||
|
--- nsalibsepol/src/hierarchy.c 2005-04-14 08:28:00.000000000 -0400
|
||||||
|
+++ libsepol-1.5.5/src/hierarchy.c 2005-04-25 15:21:51.000000000 -0400
|
||||||
|
@@ -269,7 +269,7 @@
|
||||||
|
char *parent;
|
||||||
|
hierarchy_args_t *a;
|
||||||
|
role_datum_t *r, *rp;
|
||||||
|
- ebitmap_t *eb;
|
||||||
|
+ ebitmap_t *eb=NULL;
|
||||||
|
|
||||||
|
a = (hierarchy_args_t *)args;
|
||||||
|
r = (role_datum_t *)d;
|
||||||
|
@ -37,7 +37,7 @@ needed for developing applications that manipulate binary policies.
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
%Patch -p1 -b .rhat
|
%patch -p1 -b .rhat
|
||||||
|
|
||||||
%build
|
%build
|
||||||
make CFLAGS="%{optflags}"
|
make CFLAGS="%{optflags}"
|
||||||
|
Loading…
Reference in New Issue
Block a user