Messages in this thread |  | | Date | Sun, 30 Sep 2012 07:49:30 -0700 | | From | Greg Kroah-Hartman <> | | Subject | Re: [PATCH] sysfs: sysfs_pathname/sysfs_add_one: Use strlcat() instead of strcat() |
| |
On Sat, Sep 29, 2012 at 10:23:19PM +0200, Geert Uytterhoeven wrote: > The warning check for duplicate sysfs entries can cause a buffer overflow > when printing the warning, as strcat() doesn't check buffer sizes. > Use strlcat() instead.
As the comment said, we knew about this, but I have never seen it, do you know of a way to trigger it?
> Since strlcat() doesn't return a pointer to the passed buffer, unlike > strcat(), I had to convert the nested concatenation in sysfs_add_one() to > an admittedly more obscure comma operator construct, to avoid emitting code > for the concatenation if CONFIG_BUG is disabled.
That's a fun construct, nice work.
> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> > Cc: stable@vger.kernel.org
Given that I don't know of any way to actually hit this problem, is it really needed for older kernel releases?
thanks,
greg k-h
|  |