Re: [PATCH] vsprintf: sanely handle NULL passed to %pe
From: Ilya Dryomov
Date: Wed Feb 19 2020 - 06:29:35 EST
On Wed, Feb 19, 2020 at 12:25 PM Andy Shevchenko
> On Wed, Feb 19, 2020 at 1:21 PM Ilya Dryomov <idryomov@xxxxxxxxx> wrote:
> > On Wed, Feb 19, 2020 at 9:21 AM Rasmus Villemoes
> > <linux@xxxxxxxxxxxxxxxxxx> wrote:
> > >
> > > Extend %pe to pretty-print NULL in addition to ERR_PTRs,
> > > i.e. everything IS_ERR_OR_NULL().
> > > +  = "NULL",
> > > + test("[NULL]", "[%pe]", NULL);
> > FWIW I was about to post a patch that just special cases NULL here.
> > I think changing errname() to return "NULL" for 0 is overkill.
> > People will sooner or later discover that function and start using it
> > in contexts that don't have anything to do with pointers. Returning
> > _some_ string for 0 (instead of NULL) makes it very close to standard
> > strerror(), and "NULL" for 0 (i.e. success) seems rather odd.
> %pe is specifically for _pointers_. I don't see a point in your comment.
%pe is for pointers, but errname() in lib/errname.c will likely grow
more users in the future.