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 <skunnyk@xxxxxxxxxxxx> Signed-off-by: Andreas Henriksson <andreas@xxxxxxxx> --- libuuid/src/gen_uuid.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libuuid/src/gen_uuid.c b/libuuid/src/gen_uuid.c index eb79339..2c5b955 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); -- 2.4.3 -- To unsubscribe from this list: send the line "unsubscribe util-linux" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html