diff options
Diffstat (limited to 'scripts/selinux/genheaders/genheaders.c')
| -rw-r--r-- | scripts/selinux/genheaders/genheaders.c | 8 | 
1 files changed, 7 insertions, 1 deletions
| diff --git a/scripts/selinux/genheaders/genheaders.c b/scripts/selinux/genheaders/genheaders.c index 6a24569c3578..fa48fabcb330 100644 --- a/scripts/selinux/genheaders/genheaders.c +++ b/scripts/selinux/genheaders/genheaders.c @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: GPL-2.0  /* NOTE: we really do want to use the kernel headers here */  #define __EXPORTED_HEADERS__ @@ -129,11 +130,16 @@ int main(int argc, char *argv[])  	for (i = 0; secclass_map[i].name; i++) {  		struct security_class_mapping *map = &secclass_map[i];  		for (j = 0; map->perms[j]; j++) { +			if (j >= 32) { +				fprintf(stderr, "Too many permissions to fit into an access vector at (%s, %s).\n", +					map->name, map->perms[j]); +				exit(5); +			}  			fprintf(fout, "#define %s__%s", map->name,  				map->perms[j]);  			for (k = 0; k < max(1, 40 - strlen(map->name) - strlen(map->perms[j])); k++)  				fprintf(fout, " "); -			fprintf(fout, "0x%08xUL\n", (1<<j)); +			fprintf(fout, "0x%08xU\n", (1<<j));  		}  	} |