Re: Changing argv[0] under Linux.

From: Bob Miller (rem@osdl.org)
Date: Tue Jan 14 2003 - 18:11:41 EST


On Tue, Jan 14, 2003 at 03:04:18PM -0800, Bob Miller wrote:
> On Tue, Jan 14, 2003 at 11:04:01PM +0100, DervishD wrote:
> > Hi Philippe :)
> >
> > > You just overwrote all your arguments (argv[0] and others) and part of
> > > the environment.
> >
> > Oh, sh*t, you're true, and that is the problem I was afraid to
> > suffer from. Then, all I can do is overwrite argv[0] with a new
> > string whose length is less or equal than the existing one.
> >
> > Well, I suppose I must go with that limitation.
> >
> > Thanks, Philippe, for the code snipped and the explanation.
> >
> > Raśl
> > -
>
> Or you can copy your all your args and env to a temporary place and
> then re-build your args and env with the new argv[0] in it's place.
> But you must be carefull that your new argv[0] length plus the
> length of all remaining args, envp and pointers is not greater than
> the system defined size for this space.
>
In thinking about this more this will NOT work. The user stack starts
right after your envp. So, writing more info there would blow away
your stack.

-- 
Bob Miller					Email: rem@osdl.org
Open Source Development Lab			Phone: 503.626.2455 Ext. 17
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Wed Jan 15 2003 - 22:00:52 EST