LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Programming (https://www.linuxquestions.org/questions/programming-9/)
-   -   Problem in setgroups system call (https://www.linuxquestions.org/questions/programming-9/problem-in-setgroups-system-call-251025/)

ppy 11-04-2004 08:23 AM

Problem in setgroups system call
 
I am running the following code on two different distributions on different machines ,

main()
{
int ret;

ret = setgroups(33,0);
printf("ret %d error %d\n",ret,errno);
perror(" ");
}

I am getting different outputs like :

machine 1, distribution 1 :
ret -1 error 14
: bad address
Hardware details : Intel Xeon P4 2ghz, 256mb ram
Distribution : my own build system

machine 2, distribution 2 :
ret -1 error 22
: Invalid argument
Hardware details : Intel P4 2ghz, 256mb ram
Distribution : Redhat fedora v10

Why is this so ?

Thanks in adavance,
Prashant P Y

Hko 11-04-2004 08:52 AM

Re: Problem in setgroups system call
 
Quote:

Originally posted by ppy
ret = setgroups(33,0);
The prototype for setgroups() is:
Code:

int setgroups(size_t size, const gid_t *list);
So, when you call
Code:

setgroups(33,0);
You are passing 0 as the pointer where setgroups() can find 33 gid's ?!?!?
"bas address" it says. Not really surprising IMHO...


All times are GMT -5. The time now is 07:19 PM.