mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-11-24 11:18:56 +01:00
g_unix_open_pipe: fix some bugs
Fix some bugs in the fallback case of g_unix_open_pipe:
- close both halves of the pipe on error (not just one)
- set the cloexec flag on both halves of the pipe (instead of settings
it twice on one half)
This commit is contained in:
@@ -113,9 +113,10 @@ g_unix_open_pipe (int *fds,
|
|||||||
{
|
{
|
||||||
int saved_errno = errno;
|
int saved_errno = errno;
|
||||||
close (fds[0]);
|
close (fds[0]);
|
||||||
|
close (fds[1]);
|
||||||
return g_unix_set_error_from_errno (error, saved_errno);
|
return g_unix_set_error_from_errno (error, saved_errno);
|
||||||
}
|
}
|
||||||
ecode = fcntl (fds[0], flags);
|
ecode = fcntl (fds[1], flags);
|
||||||
if (ecode == -1)
|
if (ecode == -1)
|
||||||
{
|
{
|
||||||
int saved_errno = errno;
|
int saved_errno = errno;
|
||||||
|
|||||||
Reference in New Issue
Block a user