[systemd-devel] [PATCH] udevadm hwdb: discard extra leading whitespaces in hwdb
Zbigniew Jędrzejewski-Szmek
zbyszek at in.waw.pl
Fri Nov 28 11:45:36 PST 2014
On Thu, Nov 27, 2014 at 07:21:55AM +0100, Zbigniew Jędrzejewski-Szmek wrote:
> On Wed, Nov 26, 2014 at 09:55:10PM -0800, Greg KH wrote:
> > On Thu, Nov 27, 2014 at 03:19:44PM +1000, Peter Hutterer wrote:
> > > Currently a property in the form of
> > > FOO=bar
> > > is stored as " FOO=bar", i.e. the property name contains a leading space.
> > > That's quite hard to spot.
> > >
> > > This patch discards all extra whitespaces but the first one which is required
> > > by libudev's hwdb_add_property.
> > > ---
> > > src/udev/udevadm-hwdb.c | 4 ++++
> > > 1 file changed, 4 insertions(+)
> > >
> > > diff --git a/src/udev/udevadm-hwdb.c b/src/udev/udevadm-hwdb.c
> > > index 3ca755e..dcc6e0f 100644
> > > --- a/src/udev/udevadm-hwdb.c
> > > +++ b/src/udev/udevadm-hwdb.c
> > > @@ -428,6 +428,10 @@ static int insert_data(struct trie *trie, struct udev_list *match_list,
> > > value[0] = '\0';
> > > value++;
> > >
> > > + /* libudev requires properties to start with a space */
> > > + while(line[0] != '\0' && isblank(line[1]))
> Shouldn't this be
>
> while (isblank(line[0]) && isblank(line[1]))
>
> ? Otherwise stuff like "x yyy=111" might slip through.
I pushed the patch now with the above change (and style fixes ;)).
Zbyszek
More information about the systemd-devel
mailing list