Messages in this thread Patch in this message | | | Date | Wed, 15 Jun 2011 16:30:04 +0900 | From | Yoshinori Sato <> | Subject | [PATCH] binfmt_flat: missing argv table |
| |
"put_user" is multiple times evalute on argument (in asm-generic/uaccess.h). So this code building argv table include gabage.
Signed-off-by: Yoshinori Sato <ysato@users.sourceforge.jp>
diff --git a/fs/binfmt_flat.c b/fs/binfmt_flat.c index 811384b..127a198 100644 --- a/fs/binfmt_flat.c +++ b/fs/binfmt_flat.c @@ -144,7 +144,7 @@ static unsigned long create_flat_tables( put_user(argc, sp); current->mm->arg_start = (unsigned long) p; while (argc-->0) { - put_user((unsigned long) p, argv++); + put_user((unsigned long) p, argv); argv++; do { get_user(dummy, p); p++; } while (dummy); -- Yoshinori Sato <ysato@users.sourceforge.jp>
| |