Skip to content

Commit

Permalink
Add destructor to string_buffer
Browse files Browse the repository at this point in the history
  • Loading branch information
Anilm3 committed Jul 9, 2024
1 parent 31d3e7a commit 21afc1c
Showing 1 changed file with 9 additions and 14 deletions.
23 changes: 9 additions & 14 deletions src/processor/fingerprint.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,15 @@ struct string_buffer {
}
}

// NOLINTNEXTLINE(cppcoreguidelines-no-malloc,hicpp-no-malloc,cppcoreguidelines-pro-type-reinterpret-cast)
~string_buffer() { free(buffer); }

string_buffer(const string_buffer &) = delete;
string_buffer(string_buffer &&) = delete;

string_buffer &operator=(const string_buffer &) = delete;
string_buffer &operator=(string_buffer &&) = delete;

char &operator[](std::size_t idx) const { return buffer[idx]; }

template <std::size_t N> [[nodiscard]] std::span<char, N> subspan()
Expand Down Expand Up @@ -120,20 +129,6 @@ struct key_hash_field : field_generator {
ddwaf_object value;
};

struct value_hash_field : field_generator {
explicit value_hash_field(const ddwaf_object &input) : value(input) {}
~value_hash_field() override = default;
value_hash_field(const value_hash_field &) = default;
value_hash_field(value_hash_field &&) = default;
value_hash_field &operator=(const value_hash_field &) = default;
value_hash_field &operator=(value_hash_field &&) = default;

std::size_t length() override { return value.type == DDWAF_OBJ_MAP ? 8 : 0; }
void operator()(string_buffer &output) override;

ddwaf_object value;
};

template <typename T, typename... Rest>
std::size_t generate_fragment_length(T &generator, Rest... rest)
{
Expand Down

0 comments on commit 21afc1c

Please sign in to comment.