From e9e1b7d35ff18b8b111b22bf69db049674f2864c Mon Sep 17 00:00:00 2001 From: Jakob Kaivo Date: Thu, 8 Aug 2019 09:48:38 -0400 Subject: fix off by one in binstr() --- binary.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/binary.h b/binary.h index 2721e9b..cb8bb36 100644 --- a/binary.h +++ b/binary.h @@ -45,9 +45,9 @@ static char *binstr(size_t n, char s[n], uintmax_t b) { memset(s, '0', n); s[n - 1] = '\0'; - for (size_t i = 0; i < n && i < BIT_UINTMAXBITS; i++) { - if (b & (1 << i)) { - s[n - (i + 1)] = '1'; + for (size_t i = 0; i < n - 2 && i < BIT_UINTMAXBITS; i++) { + if (b & ((uintmax_t)1 << i)) { + s[n - (i + 2)] = '1'; } } return s; -- cgit v1.2.1