lkml.org 
[lkml]   [2008]   [Sep]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subjectexecve exit status on MIPS
Date

Hi all,

Please find the below testcase..

#include <stdio.h>
#include <limits.h>
#include <errno.h>
#include <unistd.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>

#define EXE_NAME "./exe"

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], "helloworld");

if ((ret = chmod(EXE_NAME,0744)) != 0){
printf("chmod failed\n");
exit(1);
}
/* whne arg list is too long */
if ((ret = execve(EXE_NAME,e2BIG,envList)) == -1) {
if ( errno == E2BIG)
printf("Test Pass\n");
else
printf("Test Fail : Got Errno %d\n", errno);
exit(0);
}
else
printf("execve worked out of limit\n");
exit(1);
}

On MIPS E2BIG is not getting set as errno instead EFAULT is set, while on
other archs like ARM, PowerPC and i686 I am able to get E2BIG.

Please let me know about the issue...

Let EXE_NAME be any executable....
Thanks,
Halesh



\
 
 \ /
  Last update: 2008-09-18 06:37    [from the cache]
©2003-2014 Jasper Spaans. hosted at Digital Ocean