Page MenuHomeFreeBSD

D57763.diff
No OneTemporary

D57763.diff

diff --git a/tests/sys/kern/aslr.c b/tests/sys/kern/aslr.c
--- a/tests/sys/kern/aslr.c
+++ b/tests/sys/kern/aslr.c
@@ -29,23 +29,21 @@
static pid_t
spawn_ping(const atf_tc_t *tc)
{
+ char line[64];
const char *user;
struct passwd *passwd;
pid_t child;
- int arg, error, ctl[2];
- char dummy;
+ int arg, error, io[2];
user = atf_tc_get_config_var(tc, "unprivileged_user");
passwd = getpwnam(user);
ATF_REQUIRE(passwd != NULL);
- ATF_REQUIRE(pipe2(ctl, O_CLOEXEC) == 0);
+ ATF_REQUIRE(pipe2(io, O_CLOEXEC) == 0);
child = fork();
ATF_REQUIRE(child >= 0);
if (child == 0) {
- if (close(ctl[0]) != 0 ||
- close(STDOUT_FILENO) != 0 ||
- open("/dev/null", O_WRONLY | O_APPEND) != STDOUT_FILENO ||
+ if (dup2(io[1], STDOUT_FILENO) != STDOUT_FILENO ||
seteuid(passwd->pw_uid) != 0)
_exit(1);
@@ -54,12 +52,12 @@
if (error != 0)
_exit(2);
- execl("/sbin/ping", "ping", "127.0.0.1", NULL);
+ execl("/sbin/ping", "ping", "-q", "127.0.0.1", NULL);
_exit(127);
}
- ATF_REQUIRE(close(ctl[1]) == 0);
- ATF_REQUIRE(read(ctl[0], &dummy, 1) == 0);
- ATF_REQUIRE(close(ctl[0]) == 0);
+ ATF_REQUIRE(close(io[1]) == 0);
+ ATF_REQUIRE(read(io[0], line, sizeof(line)) > 0);
+ ATF_REQUIRE(close(io[0]) == 0);
return (child);
}

File Metadata

Mime Type
text/plain
Expires
Tue, Sep 8, 8:11 PM (18 h, 51 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
34278624
Default Alt Text
D57763.diff (1 KB)

Event Timeline