Messages in this thread | | | Date | Tue, 18 Feb 2020 20:31:36 +0100 | From | Adam Borowski <> | Subject | Re: [PATCH] vsprintf: don't obfuscate NULL and error pointers |
| |
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@gmail.com> 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.
Meow! -- ⢀⣴⠾⠻⢶⣦⠀ 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.
| |