From: Bernd Edlinger Date: Tue, 16 Sep 2025 15:18:33 +0000 (+0200) Subject: Fix logic errors in torture_rw_high/low test X-Git-Tag: openssl-3.3.5~35 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=0fa59896e1a255e45924666309270a23b18c9421;p=thirdparty%2Fopenssl.git Fix logic errors in torture_rw_high/low test "old" was never assigned anything and the first assignment to "*iterations" in the loop was superfluous. Reviewed-by: Neil Horman Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/28574) (cherry picked from commit a1f6bbf6b0eb5bd15569b225bb0bd443fa879c9c) --- diff --git a/test/threadstest.c b/test/threadstest.c index ac12b4c8648..08d820490cb 100644 --- a/test/threadstest.c +++ b/test/threadstest.c @@ -183,13 +183,16 @@ static void rwreader_fn(int *iterations) CRYPTO_atomic_add(&rwwriter2_done, 0, &lw2, atomiclock); count++; - if (rwwriter_ptr != NULL && old > *rwwriter_ptr) { - TEST_info("rwwriter pointer went backwards\n"); - rw_torture_result = 0; + if (rwwriter_ptr != NULL) { + if (old > *rwwriter_ptr) { + TEST_info("rwwriter pointer went backwards! %d : %d\n", + old, *rwwriter_ptr); + rw_torture_result = 0; + } + old = *rwwriter_ptr; } if (CRYPTO_THREAD_unlock(rwtorturelock) == 0) abort(); - *iterations = count; if (rw_torture_result == 0) { *iterations = count; return;