I don't think we want to "fix" it like this, this is very probably only
papering over an actual issue that could bite another way.

We need to find out the root issue, rather than circumvent it.

I see on IRC that you mention that you have a NULL string pointer, which
results in an ESRCH error here. But then the root issue is why it's a
NULL string, i.e. why p_argv is not set, i.e. why
S_proc_set_arg_locations is not called, or called with a NULL pointer.
Continue looking back in the calls and you'll find the root cause.

Samuel

Damien Zammit, le sam. 05 juin 2021 20:10:48 +1000, a ecrit:
> ---
>  proc/info.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/proc/info.c b/proc/info.c
> index 6c2567d2..9c5d3543 100644
> --- a/proc/info.c
> +++ b/proc/info.c
> @@ -316,7 +316,10 @@ get_string_array (task_t t,
>  
>    err = get_vector (t, loc, &vector);
>    if (err)
> -    return err;
> +    {
> +      *buflen = 0;
> +      return 0;
> +    }
>  
>    bp = (char *) *buf;
>    for (vp = vector; *vp; ++vp)
> -- 
> 2.31.0
> 
> 

Reply via email to