From: Alan Stern <stern@rowland.harvard.edu>
To: Pavel Vasilyev <pavel@pavlinux.ru>
Cc: Len Brown <len.brown@intel.com>,
linux-kernel@vger.kernel.org, linux-acpi@vger.kernel.org,
linux-pm@lists.linux-foundation.org
Subject: Re: [PATCH] ACPI: replace strlen("string") with sizeof("string") -1
Date: Mon, 6 Aug 2012 12:28:33 -0400 (EDT) [thread overview]
Message-ID: <Pine.LNX.4.44L0.1208061226460.1649-100000@iolanthe.rowland.org> (raw)
In-Reply-To: <501FEA29.1030400@pavlinux.ru>
On Mon, 6 Aug 2012, Pavel Vasilyev wrote:
> 06.08.2012 18:36, Alan Stern пишет:
> > On Mon, 6 Aug 2012, Pavel Machek wrote:
> >
> >> On Thu 2012-07-26 21:39:38, Len Brown wrote:
> >>> ...both give the number of chars in the string
> >>> without the '\0', as strncmp() wants,
> >>> but sizeof() is compile-time.
> >>
> >> What about introducing something like streq() to do this
> >> automatically? This is ugly....
> >>
> >> #define streq(a, b) ... if (_buildin_constant(b)) ...
> >>
> >> ?
> >>
> >>> - if (!strncmp(val, "enable", strlen("enable"))) {
> >>> + if (!strncmp(val, "enable", sizeof("enable") - 1)) {
> >
> > While you're at it, there's no point using strncmp when you know the
> > length of one of the strings beforehand. Just use memcmp, and don't
> > subtract 1 from the sizeof value.
>
> http://www.gossamer-threads.com/lists/engine?do=post_attachment;postatt_id=41157;list=linux
Interestingly, many (all?) of the changes in that patch are wrong
because they don't try to match the terminating '\0'. As a result,
they will match against extensions of the target string as well as the
target string itself.
Alan Stern
WARNING: multiple messages have this Message-ID (diff)
From: Alan Stern <stern@rowland.harvard.edu>
To: Pavel Vasilyev <pavel@pavlinux.ru>
Cc: Pavel Machek <pavel@ucw.cz>, Len Brown <lenb@kernel.org>,
<linux-acpi@vger.kernel.org>,
<linux-pm@lists.linux-foundation.org>,
<linux-kernel@vger.kernel.org>, Len Brown <len.brown@intel.com>
Subject: Re: [linux-pm] [PATCH] ACPI: replace strlen("string") with sizeof("string") -1
Date: Mon, 6 Aug 2012 12:28:33 -0400 (EDT) [thread overview]
Message-ID: <Pine.LNX.4.44L0.1208061226460.1649-100000@iolanthe.rowland.org> (raw)
In-Reply-To: <501FEA29.1030400@pavlinux.ru>
On Mon, 6 Aug 2012, Pavel Vasilyev wrote:
> 06.08.2012 18:36, Alan Stern пишет:
> > On Mon, 6 Aug 2012, Pavel Machek wrote:
> >
> >> On Thu 2012-07-26 21:39:38, Len Brown wrote:
> >>> ...both give the number of chars in the string
> >>> without the '\0', as strncmp() wants,
> >>> but sizeof() is compile-time.
> >>
> >> What about introducing something like streq() to do this
> >> automatically? This is ugly....
> >>
> >> #define streq(a, b) ... if (_buildin_constant(b)) ...
> >>
> >> ?
> >>
> >>> - if (!strncmp(val, "enable", strlen("enable"))) {
> >>> + if (!strncmp(val, "enable", sizeof("enable") - 1)) {
> >
> > While you're at it, there's no point using strncmp when you know the
> > length of one of the strings beforehand. Just use memcmp, and don't
> > subtract 1 from the sizeof value.
>
> http://www.gossamer-threads.com/lists/engine?do=post_attachment;postatt_id=41157;list=linux
Interestingly, many (all?) of the changes in that patch are wrong
because they don't try to match the terminating '\0'. As a result,
they will match against extensions of the target string as well as the
target string itself.
Alan Stern
next prev parent reply other threads:[~2012-08-06 16:28 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-06-30 5:07 ACPI & Power Management Patches for Linux 3.5-rc4 Len Brown
2012-06-30 5:07 ` [PATCH 1/8] ACPI sysfs.c strlen fix Len Brown
2012-06-30 5:07 ` [PATCH 2/8] ACPI, x86: fix Dell M6600 ACPI reboot regression via DMI Len Brown
2012-06-30 5:07 ` Len Brown
2012-07-06 11:09 ` Ingo Molnar
2012-06-30 5:07 ` [PATCH 3/8] ACPI: Make acpi_skip_timer_override cover all source_irq==0 cases Len Brown
2012-06-30 5:07 ` Len Brown
2012-06-30 5:07 ` [PATCH 4/8] ACPI: Remove one board specific WARN when ignoring timer overriding Len Brown
2012-06-30 5:07 ` Len Brown
2012-06-30 5:07 ` [PATCH 5/8] ACPI: Add a quirk for "AMILO PRO V2030" to ignore the " Len Brown
2012-06-30 5:07 ` Len Brown
2012-06-30 5:07 ` [PATCH 6/8] ACPI, APEI, Avoid too much error reporting in runtime Len Brown
2012-06-30 5:07 ` Len Brown
2012-06-30 5:07 ` [PATCH 7/8] ACPI video: Still use ACPI backlight control if _DOS doesn't exist Len Brown
2012-06-30 5:07 ` [PATCH 8/8] acpi_pad: fix power_saving thread deadlock Len Brown
2012-06-30 5:07 ` Len Brown
2012-06-30 14:25 ` [PATCH 1/8] ACPI sysfs.c strlen fix Alan Stern
2012-06-30 14:25 ` [linux-pm] " Alan Stern
2012-07-27 1:39 ` [PATCH] ACPI: replace strlen("string") with sizeof("string") -1 Len Brown
2012-07-27 1:39 ` Len Brown
2012-07-30 14:26 ` Ian Campbell
2012-07-30 14:41 ` richard -rw- weinberger
2012-08-06 10:21 ` [linux-pm] " Pavel Machek
2012-08-06 14:36 ` Alan Stern
2012-08-06 14:36 ` [linux-pm] " Alan Stern
2012-08-06 16:00 ` Pavel Vasilyev
2012-08-06 16:28 ` Alan Stern [this message]
2012-08-06 16:28 ` Alan Stern
2012-08-06 18:47 ` Pavel Vasilyev
2012-08-06 19:59 ` Alan Stern
2012-08-06 19:59 ` [linux-pm] " Alan Stern
2012-08-06 22:57 ` Daniel Taylor
2012-08-06 22:57 ` Daniel Taylor
2012-08-07 13:19 ` Bernd Petrovitsch
2012-08-07 13:19 ` [linux-pm] " Bernd Petrovitsch
2012-08-08 0:59 ` Daniel Taylor
2012-08-08 0:59 ` Daniel Taylor
2012-08-07 1:07 ` Pavel Vasilyev
2012-08-07 1:07 ` Pavel Vasilyev
2012-08-07 17:24 ` Alan Stern
2012-08-07 17:24 ` [linux-pm] " Alan Stern
2012-08-07 23:23 ` Pavel Vasilyev
2012-08-08 1:27 ` Alan Stern
2012-08-08 1:27 ` Alan Stern
2012-08-06 10:26 ` Andreas Schwab
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Pine.LNX.4.44L0.1208061226460.1649-100000@iolanthe.rowland.org \
--to=stern@rowland.harvard.edu \
--cc=len.brown@intel.com \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@lists.linux-foundation.org \
--cc=pavel@pavlinux.ru \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.