| To: | "Sadashiiv, Halesh" <halesh.sadashiv@ap.sony.com> |
|---|---|
| Subject: | Re: execve errno setting on MIPS |
| From: | tsbogend@alpha.franken.de (Thomas Bogendoerfer) |
| Date: | Thu, 18 Sep 2008 23:25:46 +0200 |
| Cc: | linux-mips@linux-mips.org |
| In-reply-to: | <7B7EF7F090B9804A830ACC82F2CDE95D53F553@insardxms01.ap.sony.com> |
| Original-recipient: | rfc822;linux-mips@linux-mips.org |
| References: | <7B7EF7F090B9804A830ACC82F2CDE95D53F553@insardxms01.ap.sony.com> |
| Sender: | linux-mips-bounce@linux-mips.org |
| User-agent: | Mutt/1.5.13 (2006-08-11) |
On Thu, Sep 18, 2008 at 05:09:35PM +0530, Sadashiiv, Halesh wrote:
> char e2BIG[ARG_MAX+1][10];
> char *envList[]={NULL};
>
> int main(void)
> {
> int ret,ind;
>
> for(ind = 0; ind < ARG_MAX+1; ind++)
> strcpy(e2BIG[ind], "helloword");
this is broken and does cause an EFAULT on x86 as well (you should
take the warning from gcc about the second argument of execve serious).
Try:
char *e2BIG[ARG_MAX+1];
char *envList[]={NULL};
int main(void)
{
int ret,ind;
for(ind = 0; ind < ARG_MAX+1; ind++)
e2BIG[ind] = strdup("helloword");
And it looks like the ARG_MAX limit is bigger than my installed glibc
thinks, because it works at least on x86. When I increase the array two
2 * ARG_MAX I'll get the wanted E2BIG.
Thomas.
--
Crap can work. Given enough thrust pigs will fly, but it's not necessary a
good idea. [ RFC1925, 2.3 ]
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | Re: execve errno setting on MIPS, Ralf Baechle |
|---|---|
| Next by Date: | Re: MIPS checksum bug, Ralf Baechle |
| Previous by Thread: | Re: execve errno setting on MIPS, Ralf Baechle |
| Next by Thread: | Re: execve errno setting on MIPS, Sadashiiv, Halesh |
| Indexes: | [Date] [Thread] [Top] [All Lists] |