mirror of
https://github.com/SELinuxProject/selinux
synced 2025-03-06 02:07:34 +00:00
libselinux: fix build warning in save_booleans()
Fix the following warning in save_booleans(). We could likely drop the function altogether, either ignoring or returning EINVAL if a non-zero permanent argument is passed to security_set_boolean_list(), since setting persistent booleans is now handled via libsemanage. This code and the corresponding security_load_booleans() code is legacy from RHEL4 days and could be removed although we would need to keep the ABI for compatibility. booleans.c: In function ‘save_booleans’: booleans.c:441:13: error: ‘%d’ directive output may be truncated writing between 1 and 11 bytes into a region of size between 0 and 8191 [-Werror=format-truncation=] "%s=%d\n", boolname, ^~ booleans.c:440:7: note: ‘snprintf’ output between 4 and 8205 bytes into a destination of size 8192 snprintf(outbuf, sizeof(outbuf), ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ "%s=%d\n", boolname, ~~~~~~~~~~~~~~~~~~~~ boollist[i].value); ~~~~~~~~~~~~~~~~~~ booleans.c:454:12: error: ‘%d’ directive output may be truncated writing between 1 and 11 bytes into a region of size between 0 and 8191 [-Werror=format-truncation=] "%s=%d\n", boolname, val); ^~ booleans.c:453:6: note: ‘snprintf’ output between 4 and 8205 bytes into a destination of size 8192 snprintf(outbuf, sizeof(outbuf), ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ "%s=%d\n", boolname, val); ~~~~~~~~~~~~~~~~~~~~~~~~~ Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
This commit is contained in:
parent
38e49c7187
commit
8467979d41
@ -416,7 +416,7 @@ static int save_booleans(size_t boolcnt, SELboolean * boollist)
|
||||
ssize_t ret;
|
||||
size_t size = 0;
|
||||
int val;
|
||||
char boolname[BUFSIZ];
|
||||
char boolname[BUFSIZ-3];
|
||||
char *buffer;
|
||||
inbuf = NULL;
|
||||
__fsetlocking(boolf, FSETLOCKING_BYCALLER);
|
||||
@ -450,6 +450,7 @@ static int save_booleans(size_t boolcnt, SELboolean * boollist)
|
||||
}
|
||||
}
|
||||
if (i == boolcnt) {
|
||||
val = !!val;
|
||||
snprintf(outbuf, sizeof(outbuf),
|
||||
"%s=%d\n", boolname, val);
|
||||
len = strlen(outbuf);
|
||||
@ -505,6 +506,7 @@ int security_set_boolean_list(size_t boolcnt, SELboolean * boollist,
|
||||
|
||||
size_t i;
|
||||
for (i = 0; i < boolcnt; i++) {
|
||||
boollist[i].value = !!boollist[i].value;
|
||||
if (security_set_boolean(boollist[i].name, boollist[i].value)) {
|
||||
rollback(boollist, i);
|
||||
return -1;
|
||||
|
Loading…
Reference in New Issue
Block a user