rootless: fix return value handling

[NO NEW TESTS NEEDED]

Fixes: https://github.com/containers/podman/issues/15927

Signed-off-by: Erik Sjölund <erik.sjolund@gmail.com>
This commit is contained in:
Erik Sjölund
2022-10-15 09:34:48 +02:00
parent 8656ffa563
commit cb2631bf3a

View File

@ -506,15 +506,15 @@ create_pause_process (const char *pause_pid_file_path, char **argv)
if (pid)
{
char b;
int r;
int r, r2;
close (p[1]);
/* Block until we write the pid file. */
r = TEMP_FAILURE_RETRY (read (p[0], &b, 1));
close (p[0]);
r = reexec_in_user_namespace_wait (pid, 0);
if (r != 0)
r2 = reexec_in_user_namespace_wait (pid, 0);
if (r2 != 0)
return -1;
return r == 1 && b == '0' ? 0 : -1;