hi Ludo, thanks for reply.
I realized that it's not SIGSEGV ,it's an "abort" while argv[0] is NULL.
Now the problem is  "can we avoid to pass void string to exec proc
explicitly"?
Since Guile provides flexible optional arguments handling, why we can not
do this:
let (execlp "ls")  equal to (execlp "ls" "") if the second argument is
unbounded?

On Fri, Dec 16, 2011 at 3:19 AM, Ludovic Courtès <l...@gnu.org> wrote:

> Hi!
>
> Sorry for the late reply.
>
> Nala Ginrut <nalagin...@gmail.com> skribis:
>
> > I found "exec" serial procedures didn't check the unbounded optional
> > parameters.
> > (execlp "ls")  ==> segment fault
>
> What you’re seeing here is SIGABRT, not SIGSEGV, preceded by the message:
>
>  A NULL argv[0] was passed through an exec system call.
>
> That message comes from Gnulib’s ‘set_program_name’ [0], which is used
> by all GNU Coreutils program, and which aborts when argv[0] is NULL.
>
> Thanks,
> Ludo’.
>
> [0] http://git.savannah.gnu.org/cgit/gnulib.git/tree/lib/progname.c#n53
>
>
>

Reply via email to