From c893f5e462265b59cd0c27bd38b6355e799a302a Mon Sep 17 00:00:00 2001 From: Romain Bouvier Date: Wed, 17 Jun 2015 15:59:18 +0000 Subject: libuuid: return correct value for uuid_generate_time_safe Make return value consistent for consecutive calls. If you call uuid_generate_time_safe, it should always return -1 if it can't guarantee uniqueness. Without this patch, on consecutive calls where it can't guarantee uniqueness, the first call returns -1, but later calls return 0. Reported-by: Romain Bouvier Signed-off-by: Andreas Henriksson --- libuuid/src/gen_uuid.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'libuuid') diff --git a/libuuid/src/gen_uuid.c b/libuuid/src/gen_uuid.c index eb793391c..2c5b95564 100644 --- a/libuuid/src/gen_uuid.c +++ b/libuuid/src/gen_uuid.c @@ -227,6 +227,9 @@ static int get_clock(uint32_t *clock_high, uint32_t *clock_low, int len; int ret = 0; + if (state_fd == -1) + ret = -1; + if (state_fd == -2) { save_umask = umask(0); state_fd = open(LIBUUID_CLOCK_FILE, O_RDWR|O_CREAT|O_CLOEXEC, 0660); -- cgit v1.2.3-55-g7522