Messages in this thread | | | Date | Wed, 24 Aug 2005 22:31:34 +0200 | From | Jesper Juhl <> | Subject | Re: [PATCH 3/3] exterminate strtok - usr/gen_init_cpio.c |
| |
On 8/24/05, Jeff Garzik <jgarzik@pobox.com> wrote: > Brian Gerst wrote: > > Jesper Juhl wrote: > > > >> Convert strtok() use to strsep() in usr/gen_init_cpio.c > >> > >> I've compile tested this patch and it compiles fine. > >> I build a 2.6.13-rc6-mm2 kernel with the patch applied without > >> problems, and > >> the resulting kernel boots and runs just fine (using it right now). > >> But despite this basic testing it would still be nice if someone would > >> double-check that I haven't made some silly mistake that would break > >> some other setup than mine. > >> > >> > >> Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com> > >> --- > >> > >> gen_init_cpio.c | 31 ++++++++++++++++++++++--------- > >> 1 files changed, 22 insertions(+), 9 deletions(-) > >> > >> --- linux-2.6.13-rc6-mm2-orig/usr/gen_init_cpio.c 2005-06-17 > >> 21:48:29.000000000 +0200 > >> +++ linux-2.6.13-rc6-mm2/usr/gen_init_cpio.c 2005-08-24 > >> 18:58:21.000000000 +0200 > >> @@ -438,7 +438,7 @@ struct file_handler file_handler_table[] > >> int main (int argc, char *argv[]) > >> { > >> FILE *cpio_list; > >> - char line[LINE_SIZE]; > >> + char *line, *ln; > >> char *args, *type; > >> int ec = 0; > >> int line_nr = 0; > >> @@ -455,7 +455,14 @@ int main (int argc, char *argv[]) > >> exit(1); > >> } > >> > >> - while (fgets(line, LINE_SIZE, cpio_list)) { > >> + ln = malloc(LINE_SIZE); > > > > > > Why change to malloc()? This is a userspace program. It doesn't have > > the kernel stack constraints. > > Good catch, agreed. > > I prefer the code as-is, with LINE_SIZE stack allocations. > The reason I did it like that was that strsep takes offense at strsep(&line, ...) when line is allocated on the stack. So I just changed it around to being malloc()'ed and things were good.
-- Jesper Juhl <jesper.juhl@gmail.com> Don't top-post http://www.catb.org/~esr/jargon/html/T/top-post.html Plain text mails only, please http://www.expita.com/nomime.html - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |