mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-10 13:13:44 +01:00
test: Avoid a map_anon_nofork test failure on SunOS
This test failure happened due to a signed/unsigned integer comparison. This bug occurred on SunOS, it may also occur on other systems that use signed char as the default. (And cast 1-byte integer constants to an unsigned integer.) Fixes bug 31897; bugfix on 0.4.1.1-alpha.
This commit is contained in:
parent
6f3f93d86c
commit
2420c8c936
3
changes/bug31897
Normal file
3
changes/bug31897
Normal file
@ -0,0 +1,3 @@
|
||||
o Minor bugfixes (tests, SunOS):
|
||||
- Avoid a map_anon_nofork test failure due to a signed/unsigned integer
|
||||
comparison. Fixes bug 31897; bugfix on 0.4.1.1-alpha.
|
@ -6182,6 +6182,7 @@ test_util_map_anon_nofork(void *arg)
|
||||
* crash, or send zero. */
|
||||
|
||||
char *ptr = NULL;
|
||||
const char TEST_VALUE = 0xd0;
|
||||
size_t sz = 16384;
|
||||
int pipefd[2] = {-1, -1};
|
||||
unsigned inherit=0;
|
||||
@ -6189,7 +6190,7 @@ test_util_map_anon_nofork(void *arg)
|
||||
tor_munmap_anonymous(ptr, sz);
|
||||
ptr = tor_mmap_anonymous(sz, ANONMAP_NOINHERIT, &inherit);
|
||||
tt_ptr_op(ptr, OP_NE, 0);
|
||||
memset(ptr, 0xd0, sz);
|
||||
memset(ptr, TEST_VALUE, sz);
|
||||
|
||||
tt_int_op(0, OP_EQ, pipe(pipefd));
|
||||
pid_t child = fork();
|
||||
@ -6220,7 +6221,7 @@ test_util_map_anon_nofork(void *arg)
|
||||
// noinherit isn't implemented.
|
||||
tt_int_op(inherit, OP_EQ, INHERIT_RES_KEEP);
|
||||
tt_int_op((int)r, OP_EQ, 1); // child should send us a byte.
|
||||
tt_int_op(buf[0], OP_EQ, 0xd0); // that byte should what we set it to.
|
||||
tt_int_op(buf[0], OP_EQ, TEST_VALUE); // that byte should be TEST_VALUE.
|
||||
}
|
||||
|
||||
int ws;
|
||||
|
Loading…
Reference in New Issue
Block a user