Index: arch/mips64/kernel/linux32.c =================================================================== RCS file: /cvs/linux/arch/mips64/kernel/linux32.c,v retrieving revision 1.42.2.6 diff -u -r1.42.2.6 linux32.c --- arch/mips64/kernel/linux32.c 2002/07/01 00:17:14 1.42.2.6 +++ arch/mips64/kernel/linux32.c 2002/07/22 13:49:33 @@ -411,12 +411,14 @@ int n, ret; n = 0; + ptr = NULL; do { /* egcs is stupid */ if (!access_ok(VERIFY_READ, arg, sizeof (unsigned int))) return -EFAULT; - if (IS_ERR(ret = __get_user((long)ptr,(int *)A(arg)))) - return ret; + if (arg) + if (IS_ERR(ret = __get_user((long)ptr,(int *)A(arg)))) + return ret; if (ap) /* no access_ok needed, we allocated */ if (IS_ERR(ret = __put_user(ptr, ap++))) return ret;