diff options
author | teor <teor@torproject.org> | 2019-09-30 14:54:56 +1000 |
---|---|---|
committer | teor <teor@torproject.org> | 2019-09-30 14:54:56 +1000 |
commit | 2420c8c9366e498dfaf3b4b6389ece9dc27ca537 (patch) | |
tree | 52c3d1a857b525a54ea756b05f968397c63ceffc | |
parent | 6f3f93d86c03a7e38e6ba5b64e487aebcd0642bc (diff) | |
download | tor-2420c8c9366e498dfaf3b4b6389ece9dc27ca537.tar.gz tor-2420c8c9366e498dfaf3b4b6389ece9dc27ca537.zip |
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.
-rw-r--r-- | changes/bug31897 | 3 | ||||
-rw-r--r-- | src/test/test_util.c | 5 |
2 files changed, 6 insertions, 2 deletions
diff --git a/changes/bug31897 b/changes/bug31897 new file mode 100644 index 0000000000..81c63e704e --- /dev/null +++ b/changes/bug31897 @@ -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. diff --git a/src/test/test_util.c b/src/test/test_util.c index 2faadd4e19..6ecff6f1c3 100644 --- a/src/test/test_util.c +++ b/src/test/test_util.c @@ -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; |