From: Steven Rostedt <srostedt@redhat.com>
To: George Spelvin <linux@horizon.com>
Cc: peterz@infradead.org, andi@firstfloor.org, tj@kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [RFC] globmatch() helper function
Date: Wed, 17 Dec 2008 11:13:12 -0500 [thread overview]
Message-ID: <1229530392.30177.10.camel@localhost.localdomain> (raw)
In-Reply-To: <20081217160417.18507.qmail@science.horizon.com>
On Wed, 2008-12-17 at 11:04 -0500, George Spelvin wrote:
>
> The problem is, what if some future thoughtless person feeds user data
> into the pattern argument?
>
> I could just take support for non-trailing * out entirely. That would be
> a different sort of documentation burden.
>
> Or I could just add an explicit 2-level stack. If you overflow the stack,
> matching always fails. Unfortunately, the code will be larger.
>
> Do people think that would be, on balance, better? It would be plenty
> good enough for the blacklist application.
Having a static function do the work and pass in a "depth" parameter
should be sufficient. As Andi mentioned, a depth of 10 should be plenty.
Like this:
static bool
globmatch_internal(const char *pat, const char *str, int depth)
{
if (depth > 10)
return false;
[...]
while (!globmatch_internal(pat+1, str, depth+1))
[...]
}
bool globmatch(const char *pat, const char *str)
{
return globmatch_internal(pat, str, 0);
}
Make sure you include a "Signed-off-by:" as well.
-- Steve
next prev parent reply other threads:[~2008-12-17 16:22 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-12-17 10:42 [RFC] globmatch() helper function George Spelvin
2008-12-17 13:28 ` Andi Kleen
2008-12-17 15:15 ` Peter Zijlstra
2008-12-17 15:47 ` Steven Rostedt
2008-12-17 16:15 ` Andi Kleen
2008-12-18 8:00 ` George Spelvin
2008-12-18 8:55 ` George Spelvin
2008-12-18 19:53 ` Casey Dahlin
2008-12-18 21:53 ` George Spelvin
2008-12-17 16:04 ` George Spelvin
2008-12-17 16:13 ` Steven Rostedt [this message]
2008-12-17 16:22 ` Tejun Heo
2008-12-17 16:31 ` Steven Rostedt
2008-12-17 16:33 ` Tejun Heo
2008-12-17 16:36 ` Peter Zijlstra
2008-12-17 16:45 ` Tejun Heo
2008-12-17 16:37 ` Steven Rostedt
2008-12-17 16:51 ` Andi Kleen
2008-12-17 16:54 ` Steven Rostedt
2008-12-17 15:37 ` George Spelvin
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=1229530392.30177.10.camel@localhost.localdomain \
--to=srostedt@redhat.com \
--cc=andi@firstfloor.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@horizon.com \
--cc=peterz@infradead.org \
--cc=tj@kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox