On Wed, 16 Nov 2022 at 10:06, Ted Yu <yuzhih...@gmail.com> wrote:
>> Hi,
> That check is a few line above:
>
> +       if (fd == NULL || fgets(filename, sizeof(filename), fd) == NULL)
>         {
>
> Cheers

Thanks for the explanation.  Comment on v2 patch.

        fd = popen(cmd, "r");
-       if (fd == NULL || fgets(filename, sizeof(filename), fd) == NULL || 
pclose(fd) != 0)
+       if (fd == NULL || fgets(filename, sizeof(filename), fd) == NULL)
        {
+               pclose(fd);
                write_stderr(_("%s: could not determine the data directory 
using command \"%s\"\n"), progname, cmd);
                exit(1);
        }

Here, segfault maybe occurs if fd is NULL.  I think we can remove pclose()
safely since the process will exit.

-- 
Regrads,
Japin Li.
ChengDu WenWu Information Technology Co.,Ltd.


Reply via email to