mirror of
https://github.com/facebookincubator/mvfst.git
synced 2025-07-29 03:41:11 +03:00
remove virtual destructor in quic::PriorityQueue::Priority
Summary: fix for OSS issue reported in https://github.com/facebook/mvfst/issues/382 UndefinedBehaviorSanitizer: dynamic-type-mismatch buck-out/v2/gen/fbcode/12f4c1ea6c843aab/quic/priority/__http_priority_queue__/buck-headers/quic/priority/HTTPPriorityQueue.h:133:9 buck-out/v2/gen/fbcode/12f4c1ea6c843aab/quic/priority/__http_priority_queue__/buck-headers/quic/priority/HTTPPriorityQueue.h:76:23: runtime error: member call on address 0x51a0000026b8 which does not point to an object of type 'quic::HTTPPriorityQueue::Priority' 0x51a0000026b8: note: object is of type 'quic::PriorityQueue::Priority' be be be be 10 1b 13 02 00 00 00 00 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 00 00 00 00 ^~~~~~~~~~~~~~~~~~~~~~~ vptr for 'quic::PriorityQueue::Priority' #0 0x000000e36302 in quic::HTTPPriorityQueue::Priority::operator==(quic::HTTPPriorityQueue::Priority const&) const fbcode/quic/priority/HTTPPriorityQueue.h:76 ``` Reviewed By: mjoras Differential Revision: D73674107 fbshipit-source-id: 4934e404cf6298d6351d4b45f676a8a83838f91f
This commit is contained in:
committed by
Facebook GitHub Bot
parent
b49e49ed1b
commit
6a52a365ab
@ -13,6 +13,23 @@ constexpr size_t kDestroyIndexThreshold = 50;
|
||||
} // namespace
|
||||
|
||||
namespace quic {
|
||||
|
||||
/*implicit*/ HTTPPriorityQueue::Priority::Priority(
|
||||
const PriorityQueue::Priority& basePriority)
|
||||
: PriorityQueue::Priority(basePriority) {
|
||||
if (!isInitialized()) {
|
||||
getFields() = kDefaultPriority;
|
||||
}
|
||||
}
|
||||
|
||||
HTTPPriorityQueue::Priority::Priority(uint8_t u, bool i, OrderId o) {
|
||||
auto& fields = getFields();
|
||||
fields.urgency = u;
|
||||
fields.incremental = i;
|
||||
fields.order = (i ? 0 : o);
|
||||
fields.paused = false;
|
||||
}
|
||||
|
||||
PriorityQueue::PriorityLogFields HTTPPriorityQueue::toLogFields(
|
||||
const PriorityQueue::Priority& pri) const {
|
||||
// This is defined by the QLOG schema
|
||||
|
Reference in New Issue
Block a user