On Wed, 16 Nov 2022 at 10:06, Ted Yu <yuzhihong@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.