You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by pa...@apache.org on 2024/06/12 09:59:39 UTC
(doris) branch master updated: [ub](pod array) fix applying non-zero offset 16 to null pointer (#36086)
This is an automated email from the ASF dual-hosted git repository.
panxiaolei pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push:
new 9b6d50bfeff [ub](pod array) fix applying non-zero offset 16 to null pointer (#36086)
9b6d50bfeff is described below
commit 9b6d50bfeffcd682b5bbb9fe23d47f613311fa1f
Author: Mryange <59...@users.noreply.github.com>
AuthorDate: Wed Jun 12 17:59:31 2024 +0800
[ub](pod array) fix applying non-zero offset 16 to null pointer (#36086)
## Proposed changes
```
/root/doris/be/src/vec/common/pod_array.h:448:13: runtime error: applying non-zero offset 16 to null pointer
#0 0x562f904159f3 in void doris::vectorized::PODArray<doris::vectorized::AggregateFunctionSequenceMatchData<doris::DateV2Value<doris::DateTimeV2ValueType>, unsigned long, doris::vectorized::AggregateFunctionSequenceMatch<doris::DateV2Value<doris::DateTimeV2ValueType>, unsigned long> >::PatternAction, 64ul, AllocatorWithStackMemory<Allocator<false, false, false>, 64ul, 8ul>, 0ul, 0ul>::emplace_back<doris::vectorized::AggregateFunctionSequenceMatchData<doris::DateV2Value<doris::Date [...]
#1 0x562f90412d6a in doris::vectorized::AggregateFunctionSequenceMatchData<doris::DateV2Value<doris::DateTimeV2ValueType>, unsigned long, doris::vectorized::AggregateFunctionSequenceMatch<doris::DateV2Value<doris::DateTimeV2ValueType>, unsigned long> >::parse_pattern() /root/doris/be/src/vec/aggregate_functions/aggregate_function_sequence_match.h:208:17
#2 0x562f9040a824 in doris::vectorized::AggregateFunctionSequenceMatchData<doris::DateV2Value<doris::DateTimeV2ValueType>, unsigned long, doris::vectorized::AggregateFunctionSequenceMatch<doris::DateV2Value<doris::DateTimeV2ValueType>, unsigned long> >::init(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long) /root/doris/be/src/vec/aggregate_functions/aggregate_function_sequence_match.h:95:13
```
this->c_end may be nullptr
---
be/src/vec/common/pod_array.h | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/be/src/vec/common/pod_array.h b/be/src/vec/common/pod_array.h
index 9a00e295cb3..d4324c91f75 100644
--- a/be/src/vec/common/pod_array.h
+++ b/be/src/vec/common/pod_array.h
@@ -445,7 +445,8 @@ public:
*/
template <typename... Args>
void emplace_back(Args&&... args) {
- if (UNLIKELY(this->c_end + sizeof(T) > this->c_end_of_storage)) {
+ if (UNLIKELY(this->c_end == nullptr ||
+ (this->c_end + sizeof(T) > this->c_end_of_storage))) {
this->reserve_for_next_size();
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org