reftable/stack: fix use of unseeded randomness
commit9abda98149e0f164ac0532fc6ca89b337049b9c3
authorPatrick Steinhardt <ps@pks.im>
Mon, 11 Dec 2023 09:07:59 +0000 (11 10:07 +0100)
committerJunio C Hamano <gitster@pobox.com>
Mon, 11 Dec 2023 15:23:16 +0000 (11 07:23 -0800)
tree626b8842077d6439012007032dae375314b9d018
parent3054fbd93edb5f12c1a320dfb6abec139bdf9628
reftable/stack: fix use of unseeded randomness

When writing a new reftable stack, Git will first create the stack with
a random suffix so that concurrent updates will not try to write to the
same file. This random suffix is computed via a call to rand(3P). But we
never seed the function via srand(3P), which means that the suffix is in
fact always the same.

Fix this bug by using `git_rand()` instead, which does not need to be
initialized. While this function is likely going to be slower depending
on the platform, this slowness should not matter in practice as we only
use it when writing a new reftable stack.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
reftable/readwrite_test.c
reftable/stack.c