Re: [PATCH] vsprintf: introduce %pf

Frederic Weisbecker
2009-04-15T00:14:17Z

On Tue, Apr 14, 2009 at 05:09:56PM -0700, Joe Perches wrote:
> On Wed, 2009-04-15 at 02:00 +0200, Frederic Weisbecker wrote:
> > diff --git a/lib/vsprintf.c b/lib/vsprintf.c
> > index b56f6d0..15c9094 100644
> > --- a/lib/vsprintf.c
> > +++ b/lib/vsprintf.c
> > @@ -575,12 +575,15 @@ static char *string(char *buf, char *end, char *s, struct printf_spec spec)
> > }
> >
> > static char *symbol_string(char *buf, char *end, void *ptr,
> > - struct printf_spec spec)
> > + struct printf_spec spec, char ext)
> > {
> > unsigned long value = (unsigned long) ptr;
> > #ifdef CONFIG_KALLSYMS
> > char sym[KSYM_SYMBOL_LEN];
> > - sprint_symbol(sym, value);
> > + if (ext != 'f')
> > + sprint_symbol(sym, value);
> > + else
> > + kallsyms_lookup(value, NULL, NULL, NULL, sym);
>
> buffer overflow waiting to happen yes?

But a symbol is not supposed to exceed KSYM_SYMBOL_LEN.