• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Alan-Jowett / ebpf-verifier / 19036509529

02 Nov 2025 09:22PM UTC coverage: 86.936% (-0.5%) from 87.448%
19036509529

push

github

elazarg
Bump external/libbtf from `b674148` to `04281ee`

Bumps [external/libbtf](https://github.com/Alan-Jowett/libbtf) from `b674148` to `04281ee`.
- [Release notes](https://github.com/Alan-Jowett/libbtf/releases)
- [Commits](https://github.com/Alan-Jowett/libbtf/compare/b6741487e...<a class=hub.com/Alan-Jowett/ebpf-verifier/commit/04281ee7a91595911807897b4ca2e7483cf97497">04281ee7a)

---
updated-dependencies:
- dependency-name: external/libbtf
  dependency-version: '04281ee7a91595911807897b4ca2e7483cf97497'
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

9044 of 10403 relevant lines covered (86.94%)

3989157.54 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

52.5
/src/crab/bitset_domain.cpp
1
// Copyright (c) Prevail Verifier contributors.
2
// SPDX-License-Identifier: MIT
3
#include <ostream>
4
#include <string>
5

6
#include "crab/bitset_domain.hpp"
7

8
namespace prevail {
9
std::ostream& operator<<(std::ostream& o, const BitsetDomain& b) {
×
10
    o << "Numbers -> {";
×
11
    bool first = true;
×
12
    for (int i = -EBPF_TOTAL_STACK_SIZE; i < 0; i++) {
×
13
        if (b.non_numerical_bytes[EBPF_TOTAL_STACK_SIZE + i]) {
×
14
            continue;
×
15
        }
16
        if (!first) {
×
17
            o << ", ";
×
18
        }
19
        first = false;
×
20
        o << "[" << EBPF_TOTAL_STACK_SIZE + i;
×
21
        int j = i + 1;
×
22
        for (; j < 0; j++) {
×
23
            if (b.non_numerical_bytes[EBPF_TOTAL_STACK_SIZE + j]) {
×
24
                break;
25
            }
26
        }
27
        if (j > i + 1) {
×
28
            o << "..." << EBPF_TOTAL_STACK_SIZE + j - 1;
×
29
        }
30
        o << "]";
×
31
        i = j;
×
32
    }
33
    o << "}";
×
34
    return o;
×
35
}
36

37
StringInvariant BitsetDomain::to_set() const {
1,384✔
38
    if (this->is_bottom()) {
1,384✔
39
        return StringInvariant::bottom();
40
    }
41
    if (this->is_top()) {
1,384✔
42
        return StringInvariant::top();
1,246✔
43
    }
44

45
    std::set<std::string> result;
138✔
46
    for (int i = -EBPF_TOTAL_STACK_SIZE; i < 0; i++) {
564,266✔
47
        if (non_numerical_bytes[EBPF_TOTAL_STACK_SIZE + i]) {
564,128✔
48
            continue;
563,990✔
49
        }
50
        std::string value = "s[" + std::to_string(EBPF_TOTAL_STACK_SIZE + i);
138✔
51
        int j = i + 1;
138✔
52
        for (; j < 0; j++) {
1,120✔
53
            if (non_numerical_bytes[EBPF_TOTAL_STACK_SIZE + j]) {
1,120✔
54
                break;
69✔
55
            }
56
        }
57
        if (j > i + 1) {
138✔
58
            value += "..." + std::to_string(EBPF_TOTAL_STACK_SIZE + j - 1);
201✔
59
        }
60
        value += "].type=number";
138✔
61
        result.insert(value);
138✔
62
        i = j;
138✔
63
    }
138✔
64
    return StringInvariant{std::move(result)};
138✔
65
}
138✔
66
} // namespace prevail
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc