[REGRESSION PATCH] vsprintf: increase sizeof precision in printf_spec

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Eric Paris
Date: Tuesday, April 13, 2010 - 6:13 pm

Patch ef0658f3de484bf9b173639cd47544584e01efa5 changed the precision field
from and int to an s8.  Problem is that we have code which uses a much larger
precision in the kernel.  An example would in the audit code where we have:

vsnprintf(...,..., " msg='%.1024s'", (char *)data);

which causes precision to be too large and end up truncating to nothing.
Raising the size of the precision fixes the audit system issue.  It also does
not affect the alignment of the struct according to pahole and is still
approprietely packed.

Signed-off-by: Eric Paris <eparis@redhat.com>
---

 lib/vsprintf.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/lib/vsprintf.c b/lib/vsprintf.c
index 24112e5..a957d3f 100644
--- a/lib/vsprintf.c
+++ b/lib/vsprintf.c
@@ -412,7 +412,7 @@ struct printf_spec {
 	s16	field_width;	/* width of output field */
 	u8	flags;		/* flags to number() */
 	u8	base;
-	s8	precision;	/* # of digits/chars */
+	s16	precision;	/* # of digits/chars */
 	u8	qualifier;
 };
 

--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[REGRESSION PATCH] vsprintf: increase sizeof precision in ..., Eric Paris, (Tue Apr 13, 6:13 pm)
Re: [REGRESSION PATCH] vsprintf: increase sizeof precision ..., Justin P. mattock, (Wed Apr 14, 7:40 am)
Re: [REGRESSION PATCH] vsprintf: increase sizeof precision ..., Frederic Weisbecker, (Wed Apr 14, 8:00 am)
Re: [REGRESSION PATCH V2] vsprintf: Change struct printf_s ..., Justin P. mattock, (Wed Apr 14, 9:47 am)