aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/lib/ndpi_bitmap64.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/lib/ndpi_bitmap64.c b/src/lib/ndpi_bitmap64.c
index f2d5bec89..f2b9ca8e7 100644
--- a/src/lib/ndpi_bitmap64.c
+++ b/src/lib/ndpi_bitmap64.c
@@ -173,7 +173,10 @@ bool ndpi_bitmap64_isset(ndpi_bitmap64 *_b, u_int64_t value) {
if(!b)
return(false);
- if(!b->is_compressed) ndpi_bitmap64_compress(b);
+ if(!b->is_compressed) {
+ if(!ndpi_bitmap64_compress(b))
+ return(false); /* Compresssion failed */
+ }
return(binary_fuse16_contain(value, &b->bitmap));
}
@@ -200,7 +203,11 @@ u_int32_t ndpi_bitmap64_size(ndpi_bitmap64 *_b) {
ndpi_bitmap64_t *b = (ndpi_bitmap64_t*)_b;
if(!b) return(0);
- if(!b->is_compressed) ndpi_bitmap64_compress(b);
-
+
+ if(!b->is_compressed) {
+ if(!ndpi_bitmap64_compress(b))
+ return(0); /* Compresssion failed */
+ }
+
return(sizeof(ndpi_bitmap64) + binary_fuse16_size_in_bytes(&b->bitmap));
}