Re: [PATCH] vsprintf: don't obfuscate NULL and error pointers

From: Adam Borowski
Date: Tue Feb 18 2020 - 14:50:18 EST

On Tue, Feb 18, 2020 at 10:49:30AM -0800, Linus Torvalds wrote:
> On Mon, Feb 17, 2020 at 4:07 PM Ilya Dryomov <idryomov@xxxxxxxxx> wrote:
> >
> > I'm not sure what you mean by efault string. Are you referring to what
> > %pe is doing? If so, no -- I would keep %p and %pe separate.
> Right.
> But bringing up %pe makes me realize that we do odd things for NULL
> for that. We print errors in a nice legible form, but we show NULL as
> a zero value, I think.
> So maybe %pe should show NULL as "(null)"? Or even as just "0" to go
> with the error names that just look like the integer error syntax (eg
> "-EINVAL")

"(null)" stands for a dereference of a null pointer rather than for printing
the pointer itself. This is a convention copied from glibc's printf("%s").
Either "0" or "NULL" (or "â" if you allow cp437-subset Unicode â ) wouldn't
cause such confusion.

âââââââ A MAP07 (Dead Simple) raspberry tincture recipe: 0.5l 95% alcohol,
âââââââ 1kg raspberries, 0.4kg sugar; put into a big jar for 1 month.
âââââââ Filter out and throw away the fruits (can dump them into a cake,
âââââââ etc), let the drink age at least 3-6 months.