diff options
author | Arseny Kapoulkine <arseny.kapoulkine@gmail.com> | 2014-11-01 10:44:56 +0100 |
---|---|---|
committer | Arseny Kapoulkine <arseny.kapoulkine@gmail.com> | 2014-11-01 10:48:14 +0100 |
commit | 25926c6206a47ffb5cbfb3702e2df22038176205 (patch) | |
tree | 32aeb3716a96c974d8612216bb92ccf230183194 /src/pugixml.cpp | |
parent | 97893ad738dfe3308d7e9793c301f24e6c9dc3a4 (diff) |
XPath: Fix undefined behavior while calling memcpy
Calling memcpy(x, 0, 0) is technically undefined (although it should usually
be a no-op).
Fixes #20.
Diffstat (limited to 'src/pugixml.cpp')
-rw-r--r-- | src/pugixml.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/pugixml.cpp b/src/pugixml.cpp index b39aad0..4b1d5ab 100644 --- a/src/pugixml.cpp +++ b/src/pugixml.cpp @@ -7764,6 +7764,8 @@ PUGI__NS_BEGIN void append(const xpath_node* begin_, const xpath_node* end_, xpath_allocator* alloc) { + if (begin_ == end_) return; + size_t size_ = static_cast<size_t>(_end - _begin); size_t capacity = static_cast<size_t>(_eos - _begin); size_t count = static_cast<size_t>(end_ - begin_); |