<div dir="ltr">Thanks all !</div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Apr 24, 2015 at 10:48 PM, Henry Hallam <span dir="ltr">&lt;<a href="mailto:henry@pericynthion.org" target="_blank">henry@pericynthion.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Thu, Apr 23, 2015 at 10:56 AM, Avinash Sridharan<br>
&lt;<a href="mailto:avinash.sridharan@gmail.com">avinash.sridharan@gmail.com</a>&gt; wrote:<br>
&gt; Are you passing the arguments to execve correctly? Usually the EFAULT error<br>
&gt; occurs, cause the argument format to execve is not correct and the kernel is<br>
&gt; unable to interpret the executable that needs to be launched, or the<br>
&gt; parameters that need to be passed to the new process.<br>
&gt;<br>
&gt; Just an example:<br>
&gt; <a href="http://www.linuxquestions.org/questions/programming-9/execve-alwayse-produces-efault-333778/" target="_blank">http://www.linuxquestions.org/questions/programming-9/execve-alwayse-produces-efault-333778/</a><br>
<br>
</span>Specifically, both the argv[] and envp[] arrays need to end with a<br>
null pointer.  Forgetting this often leads to intermittent or<br>
situation-dependent strange behavior or crashes, because sometimes<br>
that memory happens to contain zeros anyway, and sometimes not.<br>
<span class="HOEnZb"><font color="#888888"><br>
Henry<br>
</font></span></blockquote></div><br></div>