aboutsummaryrefslogtreecommitdiff
path: root/src/bitfield.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/bitfield.c')
-rw-r--r--src/bitfield.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/bitfield.c b/src/bitfield.c
index cec0304..9a42926 100644
--- a/src/bitfield.c
+++ b/src/bitfield.c
@@ -13,11 +13,19 @@ void prne_bf_set (uint8_t *bf, const unsigned int bit, const bool v) {
}
}
-bool prne_bf_test (const uint8_t *bf, const unsigned int bit) {
+bool prne_bf_test (
+ const uint8_t *bf,
+ const size_t size,
+ const unsigned int bit)
+{
const unsigned int p = bit / 8;
const unsigned int s = bit - p * 8;
- return bf[p] & (1 << s);
+ if (size <= p) {
+ return false;
+ }
+
+ return (bf[p] & (1 << s)) != 0;
}
void prne_bf_foreach (