From 0eec28a05823a45af9b51d8915bdbd1692a87067 Mon Sep 17 00:00:00 2001 From: Luna Date: Sat, 19 Jan 2019 16:38:54 -0300 Subject: [PATCH] snowflake: fix overflow bug bugfix ported from https://gitlab.com/elixire/elixire/commit/40cbd0bdef0baeed195d3c87a9ceed72e63f762f --- litecord/snowflake.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/litecord/snowflake.py b/litecord/snowflake.py index 8847cc5..174ad80 100644 --- a/litecord/snowflake.py +++ b/litecord/snowflake.py @@ -70,7 +70,9 @@ def _snowflake(timestamp: int) -> Snowflake: global _generated_ids # bits 0-12 encode _generated_ids (size 12) - genid_b = '{0:012b}'.format(_generated_ids) + + # modulo'd to prevent overflows + genid_b = '{0:012b}'.format(_generated_ids % 4096) # bits 12-17 encode PROCESS_ID (size 5) procid_b = '{0:05b}'.format(PROCESS_ID)