diff mbox series

ima: fix showing large 'violations' or 'runtime_measurements_count'

Message ID 20180907213324.242732-1-ebiggers@kernel.org (mailing list archive)
State New, archived
Headers show
Series ima: fix showing large 'violations' or 'runtime_measurements_count' | expand

Commit Message

Eric Biggers Sept. 7, 2018, 9:33 p.m. UTC
From: Eric Biggers <ebiggers@google.com>

The 12 character temporary buffer is not necessarily long enough to hold
a 'long' value.  Increase it.

Signed-off-by: Eric Biggers <ebiggers@google.com>
---
 security/integrity/ima/ima_fs.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Comments

Mimi Zohar Sept. 21, 2018, 7:37 p.m. UTC | #1
On Fri, 2018-09-07 at 14:33 -0700, Eric Biggers wrote:
> From: Eric Biggers <ebiggers@google.com>
> 
> The 12 character temporary buffer is not necessarily long enough to hold
> a 'long' value.  Increase it

> Signed-off-by: Eric Biggers <ebiggers@google.com>
> ---
>  security/integrity/ima/ima_fs.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/security/integrity/ima/ima_fs.c b/security/integrity/ima/ima_fs.c
> index fe0ede883557..9e239b1dea2f 100644
> --- a/security/integrity/ima/ima_fs.c
> +++ b/security/integrity/ima/ima_fs.c
> @@ -42,14 +42,14 @@ static int __init default_canonical_fmt_setup(char *str)
>  __setup("ima_canonical_fmt", default_canonical_fmt_setup);
> 
>  static int valid_policy = 1;
> -#define TMPBUFLEN 12
> +
>  static ssize_t ima_show_htable_value(char __user *buf, size_t count,
>  				     loff_t *ppos, atomic_long_t *val)
>  {
> -	char tmpbuf[TMPBUFLEN];
> +	char tmpbuf[32];

The maximum string size needed to represent a long is not 32, even on
a 64 bit system.  32 bytes is fine, but please comment this.

>  	ssize_t len;
> 
> -	len = scnprintf(tmpbuf, TMPBUFLEN, "%li\n", atomic_long_read(val));
> +	len = scnprintf(tmpbuf, sizeof(tmpbuf), "%li\n", atomic_long_read(val));
>  	return simple_read_from_buffer(buf, count, ppos, tmpbuf, len);
>  }
>
diff mbox series

Patch

diff --git a/security/integrity/ima/ima_fs.c b/security/integrity/ima/ima_fs.c
index fe0ede883557..9e239b1dea2f 100644
--- a/security/integrity/ima/ima_fs.c
+++ b/security/integrity/ima/ima_fs.c
@@ -42,14 +42,14 @@  static int __init default_canonical_fmt_setup(char *str)
 __setup("ima_canonical_fmt", default_canonical_fmt_setup);
 
 static int valid_policy = 1;
-#define TMPBUFLEN 12
+
 static ssize_t ima_show_htable_value(char __user *buf, size_t count,
 				     loff_t *ppos, atomic_long_t *val)
 {
-	char tmpbuf[TMPBUFLEN];
+	char tmpbuf[32];
 	ssize_t len;
 
-	len = scnprintf(tmpbuf, TMPBUFLEN, "%li\n", atomic_long_read(val));
+	len = scnprintf(tmpbuf, sizeof(tmpbuf), "%li\n", atomic_long_read(val));
 	return simple_read_from_buffer(buf, count, ppos, tmpbuf, len);
 }