initcalls: Fix m68k build and possible buffer overflow
authorCyrill Gorcunov <gorcunov@gmail.com>
Thu, 15 May 2008 20:52:41 +0000 (13:52 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 16 May 2008 01:20:06 +0000 (18:20 -0700)
commita76bfd0da2321ed0a978ccbef192856ce7ed687a
treeeb9e9b10f8b500bdf55831e780a2658a2486b715
parente0df154f45e40677781e971daec6c430cb34716b
initcalls: Fix m68k build and possible buffer overflow

This patch fixes a build bug on m68k - gcc decides to emit a call to the
strlen library function, which we don't implement.

More importantly - my previous patch "init: don't lose initcall return
values" (commit e662e1cfd434aa234b72fbc781f1d70211cb785b) had introduced
potential buffer overflow by wrong calculation of string accumulator
size.

Use strlcat() instead, fixing both bugs.

Many thanks Andreas Schwab and Geert Uytterhoeven for helping
to catch and fix the bug.

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
init/main.c