patch-2.1.4 linux/fs/binfmt_elf.c
Next file: linux/fs/block_dev.c
Previous file: linux/fs/binfmt_aout.c
Back to the patch index
Back to the overall index
- Lines: 32
- Date:
Sun Oct 13 21:11:16 1996
- Orig file:
v2.1.3/linux/fs/binfmt_elf.c
- Orig date:
Sat Sep 28 23:53:41 1996
diff -u --recursive --new-file v2.1.3/linux/fs/binfmt_elf.c linux/fs/binfmt_elf.c
@@ -152,14 +152,20 @@
put_user((unsigned long)argc,--sp);
current->mm->arg_start = (unsigned long) p;
while (argc-->0) {
+ char c;
put_user(p,argv++);
- while (get_user(p++)) /* nothing */ ;
+ do {
+ get_user(c,p++);
+ } while (c);
}
put_user(NULL, argv);
current->mm->arg_end = current->mm->env_start = (unsigned long) p;
while (envc-->0) {
+ char c;
put_user(p,envp++);
- while (get_user(p++)) /* nothing */ ;
+ do {
+ get_user(c,p++);
+ } while (c);
}
put_user(NULL, envp);
current->mm->env_end = (unsigned long) p;
@@ -1142,7 +1148,7 @@
len = current->mm->arg_end - current->mm->arg_start;
len = len >= ELF_PRARGSZ ? ELF_PRARGSZ : len;
- memcpy_fromfs(&psinfo.pr_psargs,
+ copy_from_user(&psinfo.pr_psargs,
(const char *)current->mm->arg_start, len);
for(i = 0; i < len; i++)
if (psinfo.pr_psargs[i] == 0)
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov