From: Tony Lindgren <tony@atomide.com>
To: Joe Perches <joe@perches.com>
Cc: d binderman <dcb314@hotmail.com>, linux-kernel@vger.kernel.org
Subject: Re: arch/arm/mach-omap2/mux.c: Off by one error
Date: Mon, 1 Feb 2010 14:05:48 -0800 [thread overview]
Message-ID: <20100201220548.GE22747@atomide.com> (raw)
In-Reply-To: <1265059030.25140.349.camel@Joe-Laptop.home>
* Joe Perches <joe@perches.com> [100201 13:14]:
> On Mon, 2010-02-01 at 13:06 -0800, Tony Lindgren wrote:
> > * d binderman <dcb314@hotmail.com> [100131 04:14]:
> > > I just ran the sourceforge tool cppcheck over the source code of the
> > > new Linux kernel 2.6.33-rc6
> > >
> > > It said
> > >
> > > [./arm/mach-omap2/mux.c:492]: (error) Buffer access out-of-bounds
> > >
> > > The source code is
> > >
> > > char mode[14];
> > > int i = -1;
> > >
> > > sprintf(mode, "OMAP_MUX_MODE%d", val & 0x7);
> > > 13 characters + 1 digit + 1 zero byte is more than 14 characters.
> > > Suggest new code
> > > char mode[15];
> > diff --git a/arch/arm/mach-omap2/mux.c b/arch/arm/mach-omap2/mux.c
> > index 32764be..047aa57 100644
> > --- a/arch/arm/mach-omap2/mux.c
> > +++ b/arch/arm/mach-omap2/mux.c
> > @@ -486,7 +486,7 @@ int __init omap_mux_init_signal(char *muxname, int val)
> > static inline void omap_mux_decode(struct seq_file *s, u16 val)
> > {
> > char *flags[OMAP_MUX_MAX_NR_FLAGS];
> > - char mode[14];
> > + char mode[15];
>
> Maybe:
>
> char mode[sizeof("OMAP_MUX_MODE") + 1];
Thanks, that makes it nicer. Updated patch below.
> or
> char mode[OMAP_MUX_DEFNAME_LEN];
>
> with the #define moved up a bit?
>
That's for the mux signal name, which is different from the mux mode.
But looking over that, it should eventually be done with strlen + kmalloc
if the signal names for mode0 start increasing for new omaps. So added a
comment there for now.
Regards,
Tony
>From ec5041da8d158ed601f18d6efbd779bb6733eb37 Mon Sep 17 00:00:00 2001
From: Tony Lindgren <tony@atomide.com>
Date: Mon, 1 Feb 2010 13:03:42 -0800
Subject: [PATCH] omap: Fix arch/arm/mach-omap2/mux.c: Off by one error
David Binderman ran the sourceforge tool cppcheck over the source code of the
new Linux kernel 2.6.33-rc6:
[./arm/mach-omap2/mux.c:492]: (error) Buffer access out-of-bounds
13 characters + 1 digit + 1 zero byte is more than 14 characters.
Also add a comment on mode0 name length in case new omaps
start using longer names.
Reported-by: David Binderman <dcb314@hotmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
diff --git a/arch/arm/mach-omap2/mux.c b/arch/arm/mach-omap2/mux.c
index 32764be..6bfcbec 100644
--- a/arch/arm/mach-omap2/mux.c
+++ b/arch/arm/mach-omap2/mux.c
@@ -486,7 +486,7 @@ int __init omap_mux_init_signal(char *muxname, int val)
static inline void omap_mux_decode(struct seq_file *s, u16 val)
{
char *flags[OMAP_MUX_MAX_NR_FLAGS];
- char mode[14];
+ char mode[sizeof("OMAP_MUX_MODE") + 1];
int i = -1;
sprintf(mode, "OMAP_MUX_MODE%d", val & 0x7);
@@ -553,6 +553,7 @@ static int omap_mux_dbg_board_show(struct seq_file *s, void *unused)
if (!m0_name)
continue;
+ /* REVISIT: Needs to be updated if mode0 names get longer */
for (i = 0; i < OMAP_MUX_DEFNAME_LEN; i++) {
if (m0_name[i] == '\0') {
m0_def[i] = m0_name[i];
prev parent reply other threads:[~2010-02-01 22:05 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-01-31 12:16 arch/arm/mach-omap2/mux.c: Off by one error d binderman
2010-02-01 21:06 ` Tony Lindgren
2010-02-01 21:17 ` Joe Perches
2010-02-01 22:05 ` Tony Lindgren [this message]
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=20100201220548.GE22747@atomide.com \
--to=tony@atomide.com \
--cc=dcb314@hotmail.com \
--cc=joe@perches.com \
--cc=linux-kernel@vger.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 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.